clang - связывание статической библиотеки с файлом pch вызывает ошибку с отключенным __STATIC__

В настоящее время я пытаюсь связать кучу модулей Objective 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 ...

с почти такими же параметрами ссылок и включают каталоги.

Любая помощь будет очень признательна за то, как справиться с этой проблемой.


person Roddy    schedule 29.05.2015    source источник


Ответы (1)


При использовании параметра clang -cc1 статический переключатель компиляции для файла заголовка PCH:

-static-define

(Кроме того, основная компиляция и ссылка, вероятно, должны использовать --static, а не -static; это из документации gcc, а не документации clang)

person Roddy    schedule 08.06.2015