2011-09-09 6 views
1

このプロジェクトは、Linuxで実行するとfindをコンパイルしますが、Windows用のVCソリューションを作成しようとすると失敗します。私がようにportaudio.hを含むライブラリを含めていますWindowsでCMakeを使用すると、含まれているディレクトリが見つかりません

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

:エラーがある

:それは正しいディレクトリを指しているように見えるファイル Findportaudio.cmakeを、使用して発見された

find_package(portaudio REQUIRED) 

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ファイルを生成するときにはうまく動作しません。私は上記のエラーを何度も繰り返す。プロジェクトのプロパティは、追加のインクルードディレクトリ(C/C++>一般の下)の%(AdditionalIncludeDirectories)しかリストしていませんが、設定されている場所や設定されている場所はわかりません。

(私が関連情報を省略した場合、私に知らせてください)私の質問を修正します。

答えて

4

通常、私はほとんどのパッケージのために次の操作を行います

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

がうまくいくように見えるあなたの場合

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

標準のインクルードとライブラリフォルダをWindows上に置いているので、元のコマンドはLinux上で動作すると思います。

関連する問題