我试图通过键入clang++ file_name.cpp来编译程序(假设这里我是cd的目录)。它编译并应该自动运行,但它没有,它只是结束事件,并打开终端返回输入。我在文件夹目录中看到一个名为“a.out”的文件。如果我输入clang++ file_name.cpp,什么都不会发生,我又回到了终端机。如果我输入clang++ a.out.cpp,编译器说它找不到文件,编译器就会关闭。我试着看看clang是否安装正确,而且它确实安装好了。我不知道怎么回事。
发布于 2019-10-22 15:06:56
像clang++这样的编译器只编译源代码。在您的示例中,它创建可执行文件a.out (因为您没有显式地告诉它使用其他输出文件名使用-o选项)。编译器不会自动运行生成的可执行文件。对于g++ ( GNU C++编译器)以及clang和gcc C编译器(以及大多数其他需要编译的语言编译器),也是如此。
若要运行可执行文件,请发出命令
./a.out在shell的命令提示符下。
若要为可执行文件赋予比传统默认的a.out更多的名称,请使用以下内容
clang++ -o myprog file_name.cpp要从myprog中的源创建file_name.cpp,请执行以下操作。
给定单个文件file_name.cpp中的源,还可以使用make命令将源代码编译到可执行的file_name中。
make file_name而在与源代码文件相同的目录中(但前提是自上次编译file_name以来源代码已被更新)。这不需要出现Makefile,而是使用内置于make中的隐式规则来编译C++源代码。
使用
CXX=clang++ make file_name若要显式使用clang++编译器,请执行以下操作。
有关这方面的更多信息,请参见关于make的GNU 隐式规则文档( make的其他实现,例如在BSD系统上,使用类似的隐式规则)。
https://unix.stackexchange.com/questions/548122
复制相似问题