2017-09-15 16 views
0

WindowsでCMakeを使用してQTCreatorでコンパイルしたプロジェクトを取得しようとしていますが、私は自分のプロジェクトに外部ライブラリとそのヘッダを追加する方法を知りたいと思います。私はどのようにそれを含めるように"CL\cl.h - No such file or directory"を取得していますCMakeにはプリコンパイルされたライブラリが含まれています

cmake_minimum_required(VERSION 2.8) 

project(opencl_info) 
add_executable(${PROJECT_NAME} "main.cpp") 
include_directories(c:\\AMD APP SDK\\3.0\\include\\) 
target_link_libraries(opencl_info c:\\AMD APP SDK\\3.0\\lib\\x86_64\\OpenCL.lib) 

を次のように私は私のCMakeList.txtがありますか?今のところ「ハードリンク」で?

ありがとうございます。私はこのプロジェクトを実行していることだし、それを持っている必要がありVS15の下

"追加のインクルードディレクトリ" C:\ AMD APP SDK \ 3.0 \は

追加のライブラリディレクトリ \含めます"c:¥AMD APP SDK¥3.0¥lib¥x86_64¥

" その他の障害 "OpenCL.libとthprojectが実行されます。

私はOpenCL.dllを自分のパスに含める必要があります。

QTCreator/CMakeのヘッダーとライブラリ(.lib、 .dll)をプロジェクトに含めて同様の動作を探しています。

ありがとうございます。使用するごとに、私は私のマシン上に存在以上のOpenCL platfroms(nVidiaの、AMD)を持っている

FIND_PACKAGE(OpenCL REQUIRED)そのnVidiaのではなく、特定されFound OpenCL: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/lib/x64/OpenCL.lib (found version "1.2")

AMDを見つけて使用するように明示的にCMakeを伝えるには?

+0

OT:パスに\\の代わりに/を使用する方が簡単です。 – drescherjm

+0

cフォルダにCLフォルダがありますか?\\ AMD APP SDK \\ 3.0 \\ include \\ – drescherjm

+0

また、CMakeにはFindOpenCLモジュールがあります。ヘルプのタイプ: 'cmake --help-Module FindOpenCL' – drescherjm

答えて

0

部分的な成功、私はパス・ディレクトリーにスペースなしで

を短縮さ c:\opencl\という名前の別のディレクトリにAMD APP SDKを移動し、私は今"CL\cl.h - No such file or directory"を行方不明の問題がなくなってdirecotries include_directories(c:\\opencl\\include\\)とが含まれています。

+1

質問に応じて質問を編集してください。つまり、スラッシュだけでなく、二重引用符を使用するだけです。 'include_directories(" c:/ AMD APP SDK/3.0/include ")' – SirDarius

1

CMakeのスペースには、セパレータがあります。あなたは、スペースで文字列を使用したい場合は、二重引用符で囲みます。

"c:\\AMD APP SDK\\3.0\\include\\" 
+0

ありがとう、パスはOKですが、 'include_directories(" c:\\ AMD APP SDKの\\ 3.0 \\ include \\ ") LINK_LIBRARIES(" c:\\ AMD \ APP \ SDK \\ 3.0 \\ lib \\ x86_64 \\ ") target_link_libraries(opencl_info OpenCL.lib)'エラーが発生しました ' lOpenCL'を見つけてください – user3428154

+0

は、単にcmake 'gcc -Ic:\ opencl \ include \ main.cc:\opencl\bin\x86_64\OpenCL.dll -o main.exe'からプログラムをコンパイルしてください... – user3428154

+0

合格** 'target_link_libraries '(opencl_info" c:¥¥AMD APP SDK¥¥3.0¥¥lib¥¥x86_64¥¥OpenCL.lib ")'と同じように、 。ところで、あなたはオリジナルのコードでそれを行います(ただし、引用はしません)。 – Tsyvarev

0

私は解決策を見つけた:)助け、みんなのために

cmake_minimum_required(VERSION 2.8) 

project(opencl_info) 

include_directories("c:\\AMD APP SDK\\3.0\\include\\") 
link_directories("c:\\AMD APP SDK\\3.0\\lib\\x86_64\\") 
add_executable(${PROJECT_NAME} "main.cpp") 
target_link_libraries(opencl_info OpenCL.lib) 

感謝を!

関連する問題