Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Compilation 如何使用安装在非标准路径中的cmake?_Compilation_Cmake_Environment Variables - Fatal编程技术网

Compilation 如何使用安装在非标准路径中的cmake?

Compilation 如何使用安装在非标准路径中的cmake?,compilation,cmake,environment-variables,Compilation,Cmake,Environment Variables,我在Ubuntu 14.04.3平台上。当我编译一个项目时,它询问了cmake版本3.2,这在我的系统中不存在。我根据源代码编译了cmake的最新版本,并将其安装到/usr/local/bin目录中。当我再次尝试编译项目时,它的cmake在/usr/bin中检测到较低版本的cmake。然后cmake.. 进程因低版本错误而中止。是否有任何内置的cmake变量或环境变量用于设置cmake的路径 编辑: 我刚刚发现了一个cmake变量,它应该满足我的要求。 但当我在cmakelist.txt中插入C

我在Ubuntu 14.04.3平台上。当我编译一个项目时,它询问了cmake版本3.2,这在我的系统中不存在。我根据源代码编译了cmake的最新版本,并将其安装到/usr/local/bin目录中。当我再次尝试编译项目时,它的cmake在/usr/bin中检测到较低版本的cmake。然后
cmake..

进程因低版本错误而中止。是否有任何内置的cmake变量或环境变量用于设置cmake的路径

编辑: 我刚刚发现了一个cmake变量,它应该满足我的要求。 但当我在cmakelist.txt中插入
CMAKE_命令=/usr/local/bin/CMAKE
行时,我会转到
build
目录并发出
/usr/local/bin/CMAKE..
我得到:


我在网上搜索了它,但没有找到解决方案。

如果您安装了不同版本的软件或库,您可以使用
stow
安装并在两者之间切换。特别是如果您想安装Linux发行版中没有的软件的更新版本。因此,如果新版本还不稳定,您仍然可以切换到以前的版本。例如,在构建cmake 3.2时,可以将前缀指定为

./configure --prefix=/usr/local/stow/cmake-3.2/
然后

cd /usr/local/stow
sudo stow cmake-3.2
如果要删除链接,可以使用以下命令

sudo stow --delete cmake-3.2

请记住stow不会删除文件。它只创建和删除链接。

路径解析过程负责选择cmake可执行文件。所以你应该影响这个过程。例如,在路径中交换/usr/local/bin和/usr/bin,或者在调用时使用完整路径:
/usr/local/bin/cmake
,@Tsyvarev感谢您的响应。如何交换路径?我已经试过导出路径=/usr/local/bin:“$PATH”不走运。试一下:
export PATH=“/usr/local/bin:$PATH”
(在找到)。@Tsyvarev谢谢兄弟,它很有效(我读到双引号修复后,忘了它),但我收到另一条与不同问题相关的错误消息。我完成编译后会告诉你的。
sudo stow --delete cmake-3.2