2017-03-27 16 views
1

私は、C++プログラミングの新機能であり、CMakeを使用してVSソリューションにazure-storage-cppリポジトリを追加する際にいくつかの問題を抱えています。CMakeはtarget:azurestorageエラーのリンカー言語を特定できません

ここでは、紺色のストレージプロジェクトを作成しようとしたときに、VSでビルドエラーが発生します。

cmakeのが目的のため、リンカ言語を決定することはできません。ここでazurestorage

は私CMakeのエントリです:

ExternalProject_Add(azurestorage 
    PREFIX azurestorage 
    GIT_REPOSITORY https://github.com/Azure/azure-storage-cpp.git 
    GIT_TAG master 
    SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../azurestorage 
    SOURCE_SUBDIR Microsoft.WindowsAzure.Storage) 

私はCMakeList.txtファイルにSET_TARGET_PROPERTIES(azurestorage PROPERTIES LINKER_LANGUAGE CXX)を追加しようとしたが、それにはありません助けて。私は他のフォーラムでも、CMakeがどの言語を知っているかをレポがルートディレクトリに.cppと.hファイルを持つ必要があることを読んだ。しかし、azure-storage-cpp repoは私のものではないので、私はそのようなファイルを追加する能力を持っていません。

私は私が間違って何をやっているWindows10

にVS2015を使用していますか?すべての助けをいただければ幸いです。

答えて

0

私はあなたの例を試して与えてくれたし、関連するエラーメッセージがcmakeの出力のトップによります:

-- Unsupported Build Platform. 

だから、あなたはそれを追加したい場合は、ExternalProject_Add()を使用しないでください。ライブラリのCMakeLists.txtUnix/Linux/OSXです。

しかし、それはあなたがinclude_external_msproject()でプロジェクトに含めることができますVS2015のための既存の.vcprojが付属しています:

find_package(Git REQUIRED) 
execute_process(
    COMMAND "${GIT_EXECUTABLE}" clone https://github.com/Azure/azure-storage-cpp.git 
) 
set(NUGET_EXECUTABLE "${CMAKE_CURRENT_BINARY_DIR}/azure-storage-cpp/tools/NuGet.exe") 
execute_process(
    COMMAND "${NUGET_EXECUTABLE}" restore "azure-storage-cpp/Microsoft.WindowsAzure.Storage.v140.sln" 
) 
include_external_msproject(
    azurestorage 
    "azure-storage-cpp/Microsoft.WindowsAzure.Storage/Microsoft.WindowsAzure.Storage.v140.vcxproj" 
) 
関連する問題