我尝试将应用程序链接到iOS静态库,用于Google API Objective-C客户端库,如here所述。这包括将libGTLTouchStaticLib.a从Xcode项目导航器视图中的GTL.xcodeproj的Products区域拖到应用程序的Link Binaries With Libraries构建阶段。
我在Xcode 5.1.1中构建应用程序项目时遇到此错误:
ld: warning: directory not found for option
'-L/Users/me/Library/Developer/Xcode/DerivedData/GTL-abc/Build/Products/Debug'
ld: library not found for -lGTLTouchStaticLib clang: error: linker
command failed with exit code 1 (use -v to see invocation)
进一步调查显示以下内容:
Xcode在GTL.xcodeproj中报告产品libGTLTouchStaticLib.a的完整路径为/Users/me/Library/Developer/Xcode/DerivedData/GTL-abc/Build/Products/Debug/libGTLTouchStaticLib.a(即没有后缀-iphoneos)
但是,(OS X命令)ls
将其位置报告为/ Users / me / Library / Developer / Xcode / DerivedData / GTL-abc / Build / Products / Debug-iphoneos / libGTLTouchStaticLib。 a(即带后缀-iphoneos)
拖动libGTLTouchStaticLib.a显然已将以下条目添加到应用程序的库搜索路径(在Build Settings下):$(USER_LIBRARY_DIR)/ Developer / Xcode / DerivedData / GTL-abc / Build / Products / Debug(即没有后缀-iphoneos)
两个Xcode项目导致后缀的不同应用的原因是什么?如何在" normal"中对齐它们的行为?方式(即没有"黑客攻击"应用程序的图书馆搜索路径)。