首页 > 解决方案 > 柯南 + Cmake.gui + Visual Studio = 100% 没有

问题描述

因此,我在 Qt creator 中运行了一个项目,该项目相对顺利,我需要生成一些 protobuf 文件并链接它们。所以我用了柯南:

# conan
if(NOT EXISTS "${CMAKE_BINARY_DIR}/conan.cmake")
    message(STATUS "Downloading conan.cmake from https://github.com/conan-io/cmake-conan")
    file(DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-conan/master/conan.cmake" "${CMAKE_BINARY_DIR}/conan.cmake")
endif()
include(${CMAKE_BINARY_DIR}/conan.cmake)

conan_cmake_run(CONANFILE conanfile.txt
    BASIC_SETUP
    CMAKE_TARGETS
    BUILD missing
    )

接着

find_package(protobuf       REQUIRED)
PROTOBUF_GENERATE_CPP(proto_h proto_c ${proto_files})

然后将它们添加到“add_executable”。一切正常。直到我不得不将它移植到没有文件生成的 Visual Studio,并且似乎没有添加任何与 Protobuf 生成相关的自定义构建步骤。我不明白问题出在哪里。此外,由于某种原因(Protobuf_LIBRARY_DEBUG-NOTFOUND 等),CmakeGui 无法找到默认的 protobuf 相关变量,但它的配置没有错误(并且 PROTOBUF_GENERATE_CPP 给了我文件名来添加可执行文件,它并没有发誓它可以't find them = 它应该已经找到了 protoc 目标以在其 proto 生成任务中使用它)。

所以在这一点上,我没有想法,非常沮丧,因为我似乎不得不求助于手动 protobuf 下载/安装/搜索,这甚至可能无法正常工作=(有人能说明为什么会发生这样的事情吗?为什么 QtCreator 是完美的能够运行 CMake 脚本,而由 QtCreator 具有的相同 CMake GUI 生成的 Visual Studio 文件,不能吗?

更新:奇怪的是,在我在 Visual Studio 中打开 CmakeLists 并使用 x64-Configuration 之后,一切正常。虽然我不得不手动输入 CMAKE_PREFIX_PATH 是否意味着 CmakeGui 生成不好?

标签: visual-studiocmakeprotocol-buffersconan

解决方案


推荐阅读