Я пытаюсь скомпилировать проект на Mac OS X, который ссылается на Python. У меня есть среда Python 2.7 в / Library / Frameworks
. Я компилирую для Mac OS X 4, поэтому у меня также есть Python 2.3 в /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks
. Если я вызываю gcc
с помощью -F / Library / Frameworks
и смотрю, что он делает с -v
, я вижу следующее:
ignoring duplicate directory "/Library/Frameworks"
as it is a non-system directory that duplicates a system directory
#include "..." search starts here:
#include <...> search starts here:
/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks (framework directory)
/Developer/SDKs/MacOSX10.4u.sdk/Library/Frameworks (framework directory)
Т.е. он игнорирует мой / Библиотека / Frameworks
, потому что это ' sa duplicate (последнего пути, который является символической ссылкой на / Library / Frameworks
), а затем находит свой собственный фреймворк Python 2.3 до моего 2.7.
Я понимаю, как обойти это (например, используйте -I
с полным путем к подключаемому каталогу), но меня несколько озадачивает порядок поиска. Например, компоновщик ( ld
) , похоже, выполняет поиск в системе / библиотеке и библиотеке в другом порядке . Я пытался проверить руководства и Google, но, видимо, мои навыки слишком низки :)
Думаю, у меня следующие вопросы:
gcc
ищет в этом порядок, в то время как ld
выполняет поиск по-другому? Я написал небольшой модуль и хотел бы знать, каковы основные шаги по его упаковке, чтобы отправить его на pypi :