2015-05-29 1 views
0

Прежде всего: я использую OS X 10.10 Yosemite, и я делаю все, начиная с терминала, без XCode IDE или другого графического интерфейса. Я установил pkg-config версии 0.28 из Homebrew.OS X - PKG_CONFIG_PATH приводит к пустым pc_path, пакет не найден

Я хочу создать некоторое программное обеспечение, которое зависит от Ogre 1.8. Я создал и установил OGRE (через CMAKE_INSTALL_PREFIX) в пользовательское местоположение в моем домашнем каталоге.

Схема выглядит следующим образом:

~/install/bin    contains binaries 
~/install/include   contains OGRE include headers 
~/install/lib    contains static libraries, e.g. libOgreMainStatic.a 
~/install/lib/pkgconfig contains *.pc files for Ogre, e.g. OGRE.pc 

Перед тем, как добавить путь к PKG_CONFIG_PATH я получаю это:

$ pkg-config --variable pc_path OGRE 
Package OGRE was not found in the pkg-config search path. 
Perhaps you should add the directory containing `OGRE.pc' 
to the PKG_CONFIG_PATH environment variable 
No package 'OGRE' found 

Это ожидаемое поведение. Затем я добавил ~/install/lib/pkgconfig к моему PKG_CONFIG_PATH так:

$ export PKG_CONFIG_PATH=~/install/lib/pkgconfig 
$ echo $PKG_CONFIG_PATH 
/Users/myusername/install/lib/pkgconfig 

Запуск

$ pkg-config --variable pc_path OGRE 
    <empty line while I expected the path to OGRE.pc> 

снова показывает только пустая строка, но не сообщение об ошибке, однако.

Когда я теперь запустить CMake для программного обеспечения, я хочу, чтобы построить это говорит:

$ cmake . 
<snip> 
-- checking for module 'OGRE' 
-- package 'OGRE' not found 

Что я делаю неправильно? В Linux он работает с одними и теми же командами.

ответ

0

Проблема заключалась в том, что OGRE.pc ссылался на Freetype и несколько других требований, которые я построил из источника. В то время как Ogre смог найти их с тех пор, как они были на пути, установленном CMAKE_INSTALL_PREFIX, pkgconfig был не потому, что они не предоставляли файлы * .pc.

Я обнаружил это с помощью следующей команды:

Перед исправлением:

$ pkg-config --libs OGRE 
Package zziplib was not found in the pkg-config search path. 
Perhaps you should add the directory containing `zziplib.pc' 
to the PKG_CONFIG_PATH environment variable 
Package 'zziplib', required by 'OGRE', not found 

После исправления:

$ pkg-config --libs OGRE 
-L/Users/myusername/install/lib -L/Users/myusername/install/lib/OGRE -lOgreMainStatic -lpthread -lboost-thread-mt -lfreeimage