Включенные каталоги не найдены при использовании CMake в Windows - PullRequest
1 голос
/ 09 сентября 2011

Этот проект компилирует find при запуске под Linux, но терпит неудачу, когда я пытаюсь создать VC-решение для Windows. Ошибка:

e:\src\audio\audio.h(5): fatal error C1083: Cannot open include file: 'portaudio.h': No such file or directory

Я включаю библиотеку, которая содержит portaudio.h следующим образом:

find_package(portaudio REQUIRED)

Который находится с помощью файла Findportaudio.cmake, который выглядит так, как будто он указывает на правильный каталог:

* * 1010

Это все прекрасно работает, когда я запускаю его под Linux, но когда я генерирую мои make-файлы, это не так. Я получаю ошибку, упомянутую выше, много раз. В свойствах проекта перечислены только %(AdditionalIncludeDirectories) для дополнительных включаемых каталогов (в разделе C / C ++> General), но я не знаю, где это устанавливается или что устанавливается.

(Если я пропустил какую-либо соответствующую информацию, дайте мне знать, и я исправлю свой вопрос).

1 Ответ

4 голосов
/ 09 сентября 2011

Обычно я делаю следующее для большинства пакетов:

FIND_PACKAGE( GDCM REQUIRED )
INCLUDE_DIRECTORIES( ${GDCM_INCLUDE_DIRS} )
LINK_DIRECTORIES( ${GDCM_LIBRARY_DIRS} )

В вашем случае это выглядит так:

FIND_PACKAGE( portaudio REQUIRED )
INCLUDE_DIRECTORIES( ${Portaudio_INCLUDE_DIR} )
LINK_DIRECTORIES( ${Portaudio_LIBRARY} )

будет работать.

Я верю вашей исходной командеработает на linux, потому что он собирает стандартные папки include и library, в то время как на windows нет стандарта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...