问题描述
因此,我正在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之前,在Visual Studio中未生成任何文件,而且似乎没有添加与Protobuf生成相关的任何自定义生成步骤。 我不明白问题出在哪里。另外,CmakeGui出于某种原因无法找到与protobuf相关的默认变量(Protobuf_LIBRARY_DEBUG-NOTFOUND等),但仍未配置任何错误(并且PROTOBUF_GENERATE_CPP为我提供了添加可执行文件的文件名,并且它不发誓它可以找不到它们=它应该已经找到要在其原型生成任务中使用的协议目标。
因此,在这一点上,我没有任何想法,因此感到沮丧,因为看来我不得不求助于protobuf手动下载/安装/搜索,这可能甚至行不通=( 有人可以说出为什么会发生这种情况吗?为什么QtCreator能够完美地运行CMake脚本,而QtCreator却无法通过同一CMake GUI生成Visual Studio文件呢?
更新:奇怪的是,在Visual Studio中打开CmakeLists并使用x64-Configuration之后,一切正常。虽然我必须手动键入CMAKE_PREFIX_PATH 这是否意味着CmakeGui不能很好地生成?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)