目前,我正试图将一组目标C模块链接到一个静态库中。
我收到以下错误,无法找到在构建__STATIC__文件时如何禁用该PCH文件的任何信息。
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 ...
具有几乎相同的链接选项和包含目录。
对于如何处理这一问题,任何帮助都将不胜感激。
发布于 2015-06-08 23:34:54
当使用clang -cc1选项时,PCH头文件的静态编译开关是:
-static-define
(此外,主要的编译和链接应该是使用--静态的,而不是-static;这来自gcc文档,而不是clang文档)
https://stackoverflow.com/questions/30521176
复制相似问题