这是重点。我有一个子项目(静态库)创建。图书馆编译得很好。没有错误。当我将该库包含在项目中并从项目库中导入标题时,库无法编译,因为它找不到属于它自己的路径。静态库路径恶梦来自地狱
在网络上关于如何创建一个静态库并将其嵌入到项目中的一堆教程之后,我不知道哪一个是正确的,因为我尝试了所有和所有失败,并且一些不同。
这是库的设置方式:
静态库
生成设置:
- 公共报头文件夹路径=
$(BUILT_PRODUCTS_DIR)
- 头搜索路径=
$(SRCROOT)
(递归)
构建阶段
复制文件= 1个文件,myLibrary.h,基本上是空的(当我使用的静态库模板以启动库通过xcode的创建。
没有ADD COPY HEADERS相
MAIN PROJECT
构建设置
- 头搜索路径=空
- 用户头搜索路径=
$(BUILT_PRODUCTS_DIR)
(递归) - 始终搜索用户路径=
YES
构建阶段
- 是,
myLibrary.a
是目标相关
什么令我惊奇的是,在图书馆编译好,但是当把它放在一个项目中时,无法找到属于自己的库的头。
注意:我也试图在库上公开所有.h
库上创建副本标题阶段,但它也失败了。
这是一个错误的例子:
/Users/mike/Library/Developer/Xcode/DerivedData/MyApp-dnaimaovscreasadhmvgttwjnabc/Build/Products/Debug-iphoneos/include/myLibrary/ccTypes.h:39:9:
fatal error: 'Platforms/CCGL.h' file not found
#import "Platforms/CCGL.h"
我已经失去了两个几天的时间来解决这个噩梦。
有什么想法?
添加'Run Script'构建阶段,在失败阶段之前执行,检查'显示构建日志中的环境变量',启动在'Log Navigator'上建立并检查路径。 –
和脚本是空的?只是?这样做只显示了日志导航器上已经显示的内容。 – SpaceDog
我已经上传了一个示例项目到这里:https://mega.co.nz/#!mBQhiRQS!Mz0wRh9wdhbKsW_KxE5F8iL2Q11gocuHlAB0ibQOoDo 所以你可以看到我的意思。 – SpaceDog