在命令行中编译多个C ++文件?

时间:2017-08-24 11:24:48

标签: c++

我现在正在做一个教程,但没有明确说明如何做到这一点。

我有两个文件,int2.cpp有我的main和int1.cpp是一个函数(int2调用int1)我知道它们会工作,但是如何在命令行中键入它?教程说g++ int2.cpp int1.cpp -o int2.cpp,但它说“g ++是非法命令”

我正在使用DOSbox 0.74。

我用tcc编译对不起,但是它说-o不是命令行选项

2 个答案:

答案 0 :(得分:2)

  

我用tcc编译对不起,但是它说-o不是命令行选项

TurboC++是一个过时的编译器(对于C ++的过时变体);不要使用它。

TinyC(例如tcc命令)是C的编译器,而不是C ++的编译器。

C和C ++是不同的语言,你想学习至少C++11(因为旧的C ++标准已经过时且非常不同,2017年不值得学习) 。

所以,获取并使用free software C ++ 11编译器,如GCCClang。 BTW在大多数Linux发行版上都很容易获得(我建议你使用)。

当然,您希望使用警告和调试信息进行编译,因此请使用 g++ -Wall -Wextra -g clang++ -Wall -Wextra -gg++ GCC。{/ p> BTW,你可能想要将几个Clang编译成一个translation units二进制文件。这通常涉及链接步骤(即,使用subscribe()命令在几个 executable上运行linker。考虑学习使用object files之类的build automation工具(它有很多内置GNU make来帮助完成这项工作)。

答案 1 :(得分:0)

g ++是非法命令意味着您的路径上没有安装编译器。语法(几乎)正确,您可能只是没有安装gcc。

g++ int2.cpp int1.cpp -o int2.exe