【发布时间】:2023-03-24 13:55:02
【问题描述】:
仅当我尝试构建 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
【问题讨论】:
标签: iphone xcode unit-testing ziparchive undefined-symbol