尝试将以下块添加到 CMakeLists.txt 的末尾并再次从 Qt Creator 运行 CMake。CMake 输出应列出已通过-D
命令行参数传递的所有变量。
get_cmake_property(CacheVars CACHE_VARIABLES)
foreach(CacheVar ${CacheVars})
get_property(CacheVarHelpString CACHE ${CacheVar} PROPERTY HELPSTRING)
if(CacheVarHelpString STREQUAL "No help, variable specified on the command line.")
get_property(CacheVarType CACHE ${CacheVar} PROPERTY TYPE)
if(CacheVarType STREQUAL "UNINITIALIZED")
set(CacheVarType)
else()
set(CacheVarType :${CacheVarType})
endif()
set(CMakeArgs "${CMakeArgs} -D${CacheVar}${CacheVarType}=\"${${CacheVar}}\"")
endif()
endforeach()
message("CMakeArgs: ${CMakeArgs}")
有关详细信息,请参阅此答案。
这不会显示通过-G
arg 选择了哪个生成器(如果有)。要找到它,您需要CMAKE_GENERATOR:INTERNAL=...
在 CMakeCache.txt 中查找
如果这不能帮助您确定整体问题,您可能应该听取@arrowdodger 的建议并发布有关您遇到的错误和您的两个构建环境的更多详细信息。例如,从源代码树的子目录运行 CMake可能会导致错误。