2017-03-27 43 views
1

我對C++編程很陌生,在使用CMake將azure-storage-cpp存儲庫添加到我的VS解決方案時遇到了一些麻煩。CMake無法確定目標的鏈接器語言:azurestorage error

這是當我嘗試構建天藍色存儲項目時,我在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) 

我嘗試添加SET_TARGET_PROPERTIES(azurestorage PROPERTIES LINKER_LANGUAGE CXX)我CMakeList.txt文件,但它不幫幫我。我還在其他論壇上看過,回購需要在CMake的根目錄中有一個.cpp和.h文件,以便知道哪種語言。然而,因爲azure-storage-cpp repo不是我的,所以我沒有能力添加這樣的文件。

我在Windows10上使用VS2015

我在做什麼錯?任何和所有的幫助表示讚賞。

回答

0

我已經給你舉例一個嘗試,相關的錯誤信息更向CMake的輸出頂部:

-- Unsupported Build Platform. 

所以,如果你想添加它,不要用ExternalProject_Add()。圖書館收錄的CMakeLists.txt用於Unix/Linux/OSX

但它與現有的.vcproj爲VS2015,你可以包括到您的項目與include_external_msproject()

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" 
)