看起来您的代码需要与 C++ 标准库链接。在您的项目中更改这些目标构建设置并检查它是否有效,
Apple LLVM compiler language-> C++ language dialect-> Compiler default
Apple LLVM compiler language-> C++ standard library-> Compiler default
此外,顶部的警告表明您的库libFunFX.a
不是为i386
iPhone 模拟器构建的。确保这是您可以尝试的。
打开终端,转到包含库的文件夹并使用此命令
lipo -info libFunFX.a ↵
//Output:
Architectures in the fat file: libFunFX.a are: armv7 i386
如果它列出了 i386,那么不用担心,否则您需要与所有者沟通,向您发送一个包含设备 (armv7/armv7s) 和模拟器 (i386) 切片的 FAT 文件。
编辑
我看到您的项目中有两个库,将两者结合起来使用以下命令创建一个 FAT 文件。
lipo -create libFunFX.a libFunFXSim.a -output libFunFX_Univ.a
所以现在如果你检查,
lipo -info libFunFX_Univ.a
//Output
Architectures in the fat file: libFunFX_Univ.a are: armv7 (cputype (12) cpusubtype (11)) i386
项目文件的更改
- 更改
AppDelegate.m
为AppDelegate.mm
- 将 ViewController.m 更改为
ViewController.mm
- 添加并链接上面创建的
libFunFX_Univ.a
文件,而不是两个单独的 .a 文件。
- 将文件标记
-fno-objc-arc
为下图
进行这些更改后,我能够成功地为模拟器构建您的项目。我不确定你是否真的想使用 ARC,因为很多文件都被标记为手动内存管理。在这种情况下,对整个项目进行手动内存管理会更容易。只是一个建议!
希望有帮助!