visual-studio - 柯南 + 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 生成不好?
解决方案
推荐阅读
- python - 31GB文件中的高效python字符串替换
- swift - 如何在数组中排序异常
- neo4j - 在 Cypher 查询中返回组结果(使用 apoc)
- django - Celery - 来自计划任务内部的 Django 计划任务
- java - 为什么 VSCode 一直打开 *.class 文件而不是 .java 文件?
- python - 抓取数据时无法获取标签
- node.js - npm 安装本地子文件夹 eperm 符号链接
- jsonpath - JsonPath 从其他数组中获取数组元素
- python-3.x - Asyncio 任务的大列表,在每个任务中顺序结合 run_in_executor 和标准协程
- sql - 将日期设置为 SQL 中的变量以调用导出文件命名约定