2017-11-15 16 views
0

OpenMP 3.0機能が必要なため、Visual Studio 2015でclang 5.0.0を使用しようとしています。私は今、私は常にエラーを取得するツールチェインLLVM-vs2014の有無にかかわらずMSVC 14 2015 Win64ビルドを設定しようとすると、MSVCでOpenMPを使用してclangを取得する方法2015

cmake_minimum_required(VERSION 2.8.10) 
project(myproject) 

find_package(OpenMP) 
if (OPENMP_FOUND) 
    set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") 
    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") 
endif() 

include_directories("include") 
add_library(libFoo STATIC Foo.cpp) 

install(TARGETS Foo libFoo LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) 

こと:私は打ち鳴らすコンパイラ(任意のOpenMPサポートを持っていないではないvs2015バージョン)と使用cmakeのインストールOpenMPのが発見されていません。使用しているコンパイラは、右1(インストール打ち鳴らす、いないMicrosoftバージョン)であるように思わ

The C compiler identification is Clang 5.0.0 
The CXX compiler identification is Clang 5.0.0 
Check for working C compiler: D:/Program Files/LLVM/msbuild-bin/cl.exe 
Check for working C compiler: D:/Program Files/LLVM/msbuild-bin/cl.exe -- works 
Detecting C compiler ABI info 
Detecting C compiler ABI info - done 
Detecting C compile features 
Detecting C compile features - done 
Check for working CXX compiler: D:/Program Files/LLVM/msbuild-bin/cl.exe 
Check for working CXX compiler: D:/Program Files/LLVM/msbuild-bin/cl.exe -- works 
Detecting CXX compiler ABI info 
Detecting CXX compiler ABI info - done 
Detecting CXX compile features 
Detecting CXX compile features - done 
Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES) (found version "1.0") 
Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES) (found version "1.0") 
Configuring done 

、それが打ち鳴らす-CLバイナリを自動検出が、OpenMPのは失敗します。 「ネイティブコンパイラを指定して」コンパイラを手動で指定しようとしましたが、同じ結果が得られました。それはclang ++の代わりにclang-clバージョンを選択することさえできます。

問題を解決していない関連回答:

答えて

0

が含まれています非常にうまくいくようです。何が助けられるか

OpenMP_CXX_FLAGS="-Xclang -fopenmp" 
OpenMP_C_FLAGS="-Xclang -fopenmp" 

libomp.libがリンクライブラリに含まれていることを確認してください。

-Xclangはclangバイナリに、clang形式でMSVC形式ではなく、-fopenmpが普通のOpenMPフラグであることを伝えます。しかしそれ以外の方法で設定しても動作しませんでした。

関連する問題