gpt4 book ai didi

cmake - 如何从命令行设置 CMake 路径

转载 作者:行者123 更新时间:2023-12-04 02:23:33 24 4
gpt4 key购买 nike

有什么区别

CMAKE_PREFIX_PATH=$PWD/../../qt5/qtbase/:$PWD/../../opencv/build/install/ cmake ..

cmake -D CMAKE_PREFIX_PATH=$PWD/../../qt5/qtbase/:$PWD/../../opencv/build/install/ ..

对我来说,第一个似乎工作正常但第二个不行!我很想知道为什么。

据我所知,在第一个版本中,shell 在调用 cmake 命令之前设置变量,而第二个版本告诉 cmake 设置变量。对吗?

最佳答案

第二个版本是您在大多数情况下想要使用的版本。

正如您所注意到的,第一个版本将变量设置为 shell 环境变量,而第二个版本设置了 CMake 变量。

请注意,我们在这里讨论的是两个不同的变量,它们都被命名为CMAKE_PREFIX_PATH。引用 the manual for find_file :

  1. Search paths specified in cmake-specific cache variables. These are intended to be used on the command line with a -DVAR=value. This can be skipped if NO_CMAKE_PATH is passed.

    [...]

    CMAKE_PREFIX_PATH

  2. Search paths specified in cmake-specific environment variables. These are intended to be set in the user’s shell configuration. This can be skipped if NO_CMAKE_ENVIRONMENT_PATH is passed.

    [...]

    CMAKE_PREFIX_PATH

另请注意,您的第一个版本是不可移植的,并且特定于您正在使用的 shell。例如,Windows shell 将完全拒绝该命令。

您的第二个版本不适合您的原因是您正在使用 shell 中的 $PWD 变量,而 CMake 无法理解该变量。在第一个版本中,它会扩展到您当前的工作目录,而第二个版本只会将文字、未解析的字符串 $PWD 传递给 CMake。

关于cmake - 如何从命令行设置 CMake 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25159635/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com