如何让Cmake全球化

时间:2017-06-14 14:08:06

标签: linux cmake

我刚从git clone wget http://www.cmake.org/files/v2.8/cmake-2.8.3.tar.gz在Linux服务器上的新文件夹中安装了Cmake。编译工作但从其他路径无法识别cmake命令。我应该将cmake-2.8.0文件夹的全部内容复制到usr / local / bin吗?或者是需要复制的bin文件夹的内容?

由于

3 个答案:

答案 0 :(得分:0)

构建后,使用'sudo make install'。这将确保将正确的库和二进制文件复制到适当的位置。

通常这会将二进制文件安装到/ usr / local / bin。

确保PATH变量包含此内容。

答案 1 :(得分:0)

sudo make install由于某种原因没有复制到/ usr / local / bin /,所以我复制了CMAKE / bin的内容。对于usr / local / bin,它有效。

cp -a bin /。的/ usr / local / bin中/

答案 2 :(得分:0)

在Linux和其他基于Unix的系统上,常见的安排是将包安装到/opt并将相关条目添加到PATH环境变量以使其可用。这适用于本机包管理器或发行版未提供的包。通过选择适当的目录结构,可以通过允许同时安装不同版本的方式完成,用户可以通过将相关目录添加到PATH来选择他们想要的版本。

对于CMake在问题中询问的特定情况,您可以使用/opt/cmake/<version>之类的目录结构,然后将相关的/opt/cmake/<version>/bin目录添加到PATH(例如{{1}对于3.8.2 CMake版本)。您甚至可以download官方预先构建的CMake tarball,解压缩它们并将顶级目录移动到/opt/cmake/3.8.2/bin区域作为您下载的特定版本。我在Linux,MacOS和Solaris上成功使用过它,因为我确实有很多其他人。

请注意,一旦您在特定源树上运行CMake,/opt/cmake可执行文件就不再需要cmake了。如果需要重新运行PATH,构建将自行执行,并在其自己的缓存中记录cmake可执行文件的完整路径,因此cmake不是{0}}甚至咨询过(这对于确保相同版本的CMake继续用于所有版本都是必不可少的,无论PATH如何,因为PATH可以在登录会话之间改变,等等。如果您打算手动调用PATH或首次在源代码树上运行cmake,则PATH只需要cmake,但在这两种情况下,您始终只需要cmake如果您愿意,请使用bin可执行文件的完整路径。

我还应该补充说,CMake包中提供的整个文件集是必需的,而不仅仅是package目录。 CMake广泛使用其他目录中的文件,例如它附带的各种模块。如果您从源代码构建CMake,您可能需要构建router.post('/signup', function(req, res, next){ var user= { username: req.body.username, email: req.body.email, pass: req.body.pass } db.users.find({ email: req.body.email}).forEach(function (err, doc) { if (doc.email!= req.body.email) { db.users.save(user, function (err, usr) { if (err) { res.send(err); } res.json(usr); }, (err) => { console.log("err", err); }) } else { console.log("the email has been taken"); } }) 目标,以便获得可重定位的tarball或类似内容,其中包含在系统上提供CMake软件包时应包含的所有内容。