C++ 编译文件时,将文件保留在我的主目录中

C++ 编译文件时,将文件保留在我的主目录中,c++,makefile,vagrant,vagrantfile,C++,Makefile,Vagrant,Vagrantfile,我正在使用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/文件夹中留下大量文件,

我正在使用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、config文件和其他垃圾。我如何从tmp制作和安装,而不在主目录中乱丢垃圾


上面的命令可以工作,但它在/home/vagrant文件夹中留下了大量我不希望出现的文件。是否可以在不留下“垃圾”的情况下进行制作、制作和安装?

在Etan Reisner和reinierpost的帮助下,我已经解决了我的问题

## CPU LOAD
sudo git clone https://github.com/thewtex/tmux-mem-cpu-load.git /tmp/tmuxcpu
sudo sh -c "cd /tmp/tmuxcpu && sudo cmake . && sudo make && sudo make install";

我的安装脚本现在使用上述命令,这解决了我的问题。通过将文件保存在/tmp中,在我重新启动该框时,它们就会被删除。我正在使用这个技术在其他几个项目在流浪设置现在和它的作品完美。这为我解决了许多问题。

为cmake/etc创建一个构建目录,以便在其中操作并使用该目录而不是默认的主目录?另外,一般来说,您不应该希望或需要以root身份运行cmake或make进行编译步骤。那么,我是否需要让vagrant以某种方式将其用户cd到/tmp中,以便从那里进行构建?我试过了,但似乎在每个命令之后,“流浪用户”都会自动返回家中。这意味着每个命令都在一个单独的shell中执行,因此,您需要执行sudo sh-c'cd/tmp/tmpxcpu&&cmake'等操作。目前,/tmp/tmuxcpu参数可能只是被忽略了。@reinierpost该参数没有被忽略。它是构建的源代码。cmake使用当前目录作为生成目录,并将要从中生成的源作为参数。这是srcdir!=builddir是常用的自动工具术语。但是make调用可能对它没有任何用处。