在Windows上使用CMake时找不到包含的目录
该项目在Linux下运行时编译find,但在我尝试为Windows制作VC解决方案时失败。错误是:在Windows上使用CMake时找不到包含的目录,c,visual-studio-2010,cross-platform,cmake,C,Visual Studio 2010,Cross Platform,Cmake,该项目在Linux下运行时编译find,但在我尝试为Windows制作VC解决方案时失败。错误是: 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找到它,
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
找到它,该文件看起来指向正确的目录:
include(LibFindMacros)
find_path(Portaudio_INCLUDE_DIR NAMES portaudio.h PATHS ../src/extern/portaudio/include)
find_library(Portaudio_LIBRARY NAMES portaudio PATHS ../src/extern/portaudio/lib)
set(Portaudio_PROCESS_INCLUDES Pulseaudio_INCLUDE_DIR)
set(Portaudio_PROCESS_LIBS Pulseaudio_LIBRARY)
libfind_process(Portaudio)
当我在Linux下运行它时,这一切都很好,但是当我生成make文件时,它就不起作用了。我多次遇到上面提到的错误。该项目的属性只列出了附加Include目录(在C/C++>General下)的%(AdditionalIncludeDirectories)
,但我不知道设置在哪里或设置到什么位置
(如果我遗漏了任何相关信息,请告诉我,我会修改我的问题)。通常我会对大多数软件包执行以下操作:
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上运行,因为它在windows上没有标准的文件包时,会选择标准的include和library文件夹。通常,我会对大多数软件包执行以下操作:
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上运行,因为它是在windows上没有标准的情况下获取标准的include和library文件夹