clang - 将静态库与 pch 文件链接会导致错误并禁用 __STATIC__
clang - linking a static library with a pch file causes error with __STATIC__ disabled
我目前正在尝试 link 一堆 Objective C 模块到静态库中。
我收到以下错误,无法找到有关如何在构建 PCH 文件时无法禁用 __STATIC__ 的任何信息。
error: __STATIC__ predefined macro (as opposed to __DYNAMIC__) was disabled in PCH file but is currently enabled
构建PCH文件的命令是:
clang -cc1 -target-cpu x86-64 -g -fno-validate-pch -emit-pch -x objective-c-header afile.pch -o afile.pch.bin -O0 -fmath-errno -fobjc-arc -fobjc-runtime=gnustep -fblocks -pthread -fexceptions -fobjc-exceptions -I...
有很多 -I 选项来定位头文件。
正在构建库文件:
clang -static -o lib.a -include-pch afile.pch.bin ...
具有几乎相同的 link 选项和包含目录。
任何有关如何处理此问题的帮助将不胜感激。
使用clang -cc1选项时,PCH头文件的静态编译开关为:
-static-define
(主编译和 link 也应该使用 --static 而不是 -static;这是来自 gcc 文档而不是 clang 文档)
我目前正在尝试 link 一堆 Objective C 模块到静态库中。
我收到以下错误,无法找到有关如何在构建 PCH 文件时无法禁用 __STATIC__ 的任何信息。
error: __STATIC__ predefined macro (as opposed to __DYNAMIC__) was disabled in PCH file but is currently enabled
构建PCH文件的命令是:
clang -cc1 -target-cpu x86-64 -g -fno-validate-pch -emit-pch -x objective-c-header afile.pch -o afile.pch.bin -O0 -fmath-errno -fobjc-arc -fobjc-runtime=gnustep -fblocks -pthread -fexceptions -fobjc-exceptions -I...
有很多 -I 选项来定位头文件。
正在构建库文件:
clang -static -o lib.a -include-pch afile.pch.bin ...
具有几乎相同的 link 选项和包含目录。
任何有关如何处理此问题的帮助将不胜感激。
使用clang -cc1选项时,PCH头文件的静态编译开关为:
-static-define
(主编译和 link 也应该使用 --static 而不是 -static;这是来自 gcc 文档而不是 clang 文档)