如何在 0.9.1+ 版本中链接到 iOS 版 libcinder.a?

How do I link to libcinder.a for iOS in version 0.9.1+?

提问人:Morpheu5 提问时间:9/7/2020 更新时间:9/9/2020 访问量:152

问:

这里交叉发布,以防我能吸引更多眼球。

我又回到了我在 0.9 之前时代开发的旧 iOS 应用程序,并且在更新所有内容以使用 Cinder 0.9.2 和 C++14 方面取得了一些进展(婴儿步骤......现在,我在链接方面遇到了一个相当大的障碍——事实上,不仅仅是我的应用程序,还有几乎所有 iOS 示例。

我曾经链接到那些住在其中的静态库 (),据我所知,这些库现在应该有自己的目录。但是,我似乎找不到任何这些,也无法弄清楚如何检索它们。即使我从网站下载了 zip,我是否应该从源代码编译库?libcinder.alib/ios/ReleaseDebug

对不起,这肯定是显而易见的,但不幸的是,在 0.9.0 发布:(之后,我就没有怎么接触过 Cinder

编辑为了以防万一,我尝试了以下结果。因此,macOS版本似乎运行良好,但iOS版本却没有。我应该说,这是在 Catalina 上使用 Xcode 11.7。fullbuild.sh

Command line invocation:
    /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -project /Users/morpheu5/src/cinder_0.9.2_mac/proj/xcode/cinder.xcodeproj -target cinder_iphone -configuration Release -sdk iphoneos

Build settings from command line:
    SDKROOT = iphoneos13.7

note: Using new build system
note: Planning build
note: Constructing build description
error: AppKit is not available when building for iOS. (in target 'cinder_iphone' from project 'cinder')
error: Cocoa is not available when building for iOS. (in target 'cinder_iphone' from project 'cinder')

** BUILD FAILED **

Command line invocation:
    /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -project /Users/morpheu5/src/cinder_0.9.2_mac/proj/xcode/cinder.xcodeproj -target cinder_iphone -configuration Debug -sdk iphoneos

Build settings from command line:
    SDKROOT = iphoneos13.7

note: Using new build system
note: Planning build
note: Constructing build description
error: AppKit is not available when building for iOS. (in target 'cinder_iphone' from project 'cinder')
error: Cocoa is not available when building for iOS. (in target 'cinder_iphone' from project 'cinder')

** BUILD FAILED **

Command line invocation:
    /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -project /Users/morpheu5/src/cinder_0.9.2_mac/proj/xcode/cinder.xcodeproj -target cinder_iphone_sim -configuration Release -sdk iphonesimulator

Build settings from command line:
    SDKROOT = iphonesimulator13.7

note: Using new build system
note: Planning build
note: Constructing build description
warning: Product libcinder.a cannot weak-link framework CoreVideo.framework (in target 'cinder_iphone_sim' from project 'cinder')
warning: Product libcinder.a cannot weak-link framework AVFoundation.framework (in target 'cinder_iphone_sim' from project 'cinder')
warning: Product libcinder.a cannot weak-link framework CoreMedia.framework (in target 'cinder_iphone_sim' from project 'cinder')
warning: Product libcinder.a cannot weak-link framework CoreVideo.framework (in target 'cinder_iphone_sim' from project 'cinder')
warning: Product libcinder.a cannot weak-link framework AVFoundation.framework (in target 'cinder_iphone_sim' from project 'cinder')
warning: Product libcinder.a cannot weak-link framework CoreMedia.framework (in target 'cinder_iphone_sim' from project 'cinder')
error: AppKit is not available when building for iOS Simulator. (in target 'cinder_iphone_sim' from project 'cinder')
error: Cocoa is not available when building for iOS Simulator. (in target 'cinder_iphone_sim' from project 'cinder')
error: QTKit is not available when building for iOS Simulator. (in target 'cinder_iphone_sim' from project 'cinder')

** BUILD FAILED **

Command line invocation:
    /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -project /Users/morpheu5/src/cinder_0.9.2_mac/proj/xcode/cinder.xcodeproj -target cinder_iphone_sim -configuration Debug -sdk iphonesimulator

Build settings from command line:
    SDKROOT = iphonesimulator13.7

note: Using new build system
note: Planning build
note: Constructing build description
warning: Product libcinder.a cannot weak-link framework CoreVideo.framework (in target 'cinder_iphone_sim' from project 'cinder')
warning: Product libcinder.a cannot weak-link framework AVFoundation.framework (in target 'cinder_iphone_sim' from project 'cinder')
warning: Product libcinder.a cannot weak-link framework CoreMedia.framework (in target 'cinder_iphone_sim' from project 'cinder')
warning: Product libcinder.a cannot weak-link framework CoreVideo.framework (in target 'cinder_iphone_sim' from project 'cinder')
warning: Product libcinder.a cannot weak-link framework AVFoundation.framework (in target 'cinder_iphone_sim' from project 'cinder')
warning: Product libcinder.a cannot weak-link framework CoreMedia.framework (in target 'cinder_iphone_sim' from project 'cinder')
error: AppKit is not available when building for iOS Simulator. (in target 'cinder_iphone_sim' from project 'cinder')
error: Cocoa is not available when building for iOS Simulator. (in target 'cinder_iphone_sim' from project 'cinder')
error: QTKit is not available when building for iOS Simulator. (in target 'cinder_iphone_sim' from project 'cinder')

** BUILD FAILED **
iOS 链接器错误 cinder

评论


答:

0赞 Morpheu5 9/9/2020 #1

问题出在项目的配置方式上。这个 PR 为我解决了这个问题,我能够重建 Cinder,一切都在正确的地方。