gpt4 book ai didi

c++ - CMake 无法确定目标 : azurestorage error 的链接器语言

转载 作者:太空宇宙 更新时间:2023-11-04 13:04:28 24 4
gpt4 key购买 nike

我对 C++ 编程非常陌生,在使用 CMake 将 azure-storage-cpp 存储库添加到我的 VS 解决方案时遇到一些问题。

这是当我尝试构建 azure 存储项目时在 VS 中遇到的构建错误。

CMake can not determine linker language for target: 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 文件,但没有帮助。我还在其他论坛上读到,存储库需要在根目录中有一个 .cpp 和 .h 文件,以便 CMake 知道哪种语言。但是,由于 azure-storage-cpp 存储库不是我的,因此我无法添加此类文件。

我在 Windows10 上使用 VS2015

我做错了什么?感谢任何和所有的帮助。

最佳答案

我已经尝试了您的示例,相关错误消息更多位于 CMake 输出的顶部:

-- Unsupported Build Platform.

因此,如果您想添加它,请不要使用ExternalProject_Add()。该库包含的 CMakeLists.txt 适用于 Unix/Linux/OSX

但它附带了 VS2015 的现有 .vcproj,您可以使用 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"
)

关于c++ - CMake 无法确定目标 : azurestorage error 的链接器语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43036477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com