我已经使用以下命令安装了一个库 (SDL):
cmake --build . --target install
我在文档中读到安装包将在 CMAKE_SYSTEM_PREFIX_PATH
中注册。
但是当我打印出变量时它是空的。
目前我使用的是Windows,我在网上看到我应该在注册表中注册安装路径,但它根本没有帮助。
例如,如何使用 find_package() 查找 SDL?
最佳答案
试试这个:
Using the get_cmake_property function the following loop will print out all CMake variables defined and their values:
get_cmake_property(_variableNames VARIABLES) list (SORT _variableNames) foreach (_variableName ${_variableNames}) message(STATUS "${_variableName}=${${_variableName}}") endforeach()
To print environment variables use CMake's command mode:
execute_process(COMMAND "${CMAKE_COMMAND}" "-E" "environment")
它打印:
-- CMAKE_SYSTEM_PREFIX_PATH=/usr/local;/usr;/;/usr;/usr/local;/usr/X11R6;/usr/pkg;/opt
(致谢Sakra)
您可以在源代码树中搜索名为 FindSDL*.cmake
的文件,然后尝试在您的 CMAKE_SYSTEM_PREFIX_PATH
目录中找到该文件。
如果 CMAKE_SYSTEM_PREFIX_PATH
仍然是空的,请尝试在您的整个计算机中找到 FindSDL*.cmake
以检查文件是否正在某处安装 cmake
知道或尝试将此路径附加到您的 CMAKE_SYSTEM_PREFIX_PATH
。
您还可以查看此链接: Using SDL2 with CMake
关于c++ - 安装 CMake 后,我找不到带有 `find_package` 的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50687477/