我有一个 CMake 文件,它搜索 python 可执行文件为
find_program(PYTHON python)
if(NOT PYTHON)
if(MSVC)
set(PYTHON "python3.12")
else()
message(FATAL_ERROR "could not find python executable")
endif()
endif()
get_filename_component(PYTHON_PATH "${PYTHON}" DIRECTORY)
为上述脚本生成 cmake 缓存时,我在构建日志中收到错误
Severity Code Description Project File Line Suppression State
Error CMake Error at C:/Users/himanshu/CMCommon/index_common.cmake:545 (message):
could not find python executable C:/Usershimanshu/CMCommon/index_common.cmake 545
我看到 python 可执行文件也存在于我的环境变量中。
如何调试上述错误?
我会创建一个最小示例只是为了找到python:
$ type .\CMakeLists.txt
cmake_minimum_required(VERSION 3.28)
project(Project)
include(CMakePrintHelpers)
find_program(PYTHON python)
cmake_print_variables(PYTHON)
然后运行它以确保其正常工作:
$ cmake . | Select-String -Pattern 'PYTHON' -CaseSensitive
-- PYTHON="C:/Users/tuna_/AppData/Local/Programs/Python/Python312/python.exe"
如果你运行同样的事情,会更容易帮助你
这并不是真正的答案,将根据OP的结果进行扩展