【发布时间】:2015-10-29 03:27:23
【问题描述】:
我正在使用 Vagrant 来设置一个 linux 机器。我需要将我编译的文件添加到系统中,我使用以下命令 -
sudo git clone https://github.com/thewtex/tmux-mem-cpu-load.git /tmp/tmuxcpu
sudo cmake /tmp/tmuxcpu
sudo make clean /tmp/tmuxcpu
sudo make install clean /tmp/tmuxcpu
但是,这会在 /home/vagrant/ 文件夹中留下大量文件,包括 makefile、配置文件和其他垃圾。如何从 tmp 制作和安装,而不会在主目录中乱扔垃圾?
上述命令有效,但它在 /home/vagrant 文件夹中留下了大量我不想要的文件。是否可以在不离开“垃圾”的情况下进行 cmake、make 和 make install?
【问题讨论】:
-
为 cmake/etc 创建一个“build”目录。操作和使用它而不是默认的主目录?此外,一般来说,您不应该或不需要以 root 身份运行
cmake或make(用于编译步骤)。 -
那么我是否需要让 vagrant 以某种方式将其用户 cd 到 /tmp 以便我可以从那里构建?我试过了,但似乎在每个命令之后,“流浪用户”都会自动返回家中。
-
这意味着每个命令都在单独的 shell 中执行,因此您需要执行
sudo sh -c 'cd /tmp/tmpxcpu && cmake'等操作。目前/tmp/tmuxcpu参数可能只是被忽略了。 -
@reinierpost 该论点没有被忽略。它是构建的源泉。 cmake 使用当前目录作为“构建”目录,并将构建源作为参数。 (这是
srcdir != builddir在常用的 autotools 用语中。) -
但是
make调用可能对它没有任何用处。
标签: c++ makefile vagrant vagrantfile