Путь поиска фреймворка GCC Mac OS X: / System / Library before / Library?

Я пытаюсь скомпилировать проект на 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 выполняет поиск по-другому?
  • Существуют ли какие-нибудь подходящие для этого методы, как мне называть файлы? следует ли мне использовать distutils для ...

    Я написал небольшой модуль и хотел бы знать, каковы основные шаги по его упаковке, чтобы отправить его на pypi :

    • что такое иерархия файлов?
    • как мне называть файлы?
    • следует ли мне использовать distutils для создания PKG-INFO?
    • где я должен включать мою документацию (созданную с помощью sphinx)?

15
задан Chris Morgan 18 July 2011 в 17:02
поделиться