我正在尝试使用 xcodebuild 来编译 iOS 项目。该项目通过 XCode GUI 构建良好;但是,使用 xcodebuild 构建失败。
问题似乎是该项目需要 libiconv.dylib 并且 xcodebuild 将其链接到错误的库位置。就像它在 /sw/lib/ 中查找包含 x86 版本的库一样,而不是链接到 XCode 中包含的 armv7/6 版本。
我的问题是如何告诉 Ld 查看 SDK 目录而不是 /sw/lib/?????
这是构建命令:
xcodebuild -project MyProject.xcodeproj -target "release_iphone" -configuration Release -sdk "iphoneos7.0" PROVISIONING_PROFILE="${PROJ_PROF_UUID}"
这是我收到的错误:
ld: warning: ignoring file /sw/lib//libiconv.dylib, file was built for x86_64 which is not the architecture being linked (armv7s): /sw/lib//libiconv.dylib
Undefined symbols for architecture armv7s:
"_iconv_open", referenced from:
l2451 in libscanditsdk-iphone-3.1.1.a(mirasense.o)
"_iconv", referenced from:
l2451 in libscanditsdk-iphone-3.1.1.a(mirasense.o)
"_iconv_close", referenced from:
l2451 in libscanditsdk-iphone-3.1.1.a(mirasense.o)
ld: symbol(s) not found for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我尝试过的事情:
- 工作区/方案与项目/目标
- 将 libiconv.dylib 重新添加到“将二进制文件与库链接”
- 将 SDK 目录添加到“库搜索路径”
- 将“-isysroot $SDKROOT”添加到“其他链接器标志”