只有当我尝试构建 iPhone 静态库的单元测试时,我才会收到以下错误:
Undefined symbols for architecture i386:
"std::terminate()", referenced from:
-[ZipArchive dealloc] in libMyProject.a(ZipArchive.o)
"___gxx_personality_v0", referenced from:
Dwarf Exception Unwind Info (__eh_frame) in libMyProject.a(ZipArchive.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
构建原始项目工作正常。
我能错过什么?
需要注意的是,ZipArchive是一个.mm文件,它引用了libz.dylib框架,在原始项目和测试项目中都有引用。
此外,通常的构建设置嫌疑人具有以下值:
框架搜索路径:“$(SDKROOT)/Developer/Library/Frameworks”“$(DEVELOPER_LIBRARY_DIR)/Frameworks”
其他链接器标志:-all_load -lxml2 - ObjC
标头搜索路径:/usr/include/libxml2