我现在正在做一个教程,但没有明确说明如何做到这一点。
我有两个文件,int2.cpp有我的main和int1.cpp是一个函数(int2调用int1)我知道它们会工作,但是如何在命令行中键入它?教程说g++ int2.cpp int1.cpp -o int2.cpp
,但它说“g ++是非法命令”
我正在使用DOSbox 0.74。
我用tcc编译对不起,但是它说-o不是命令行选项
答案 0 :(得分:2)
我用tcc编译对不起,但是它说-o不是命令行选项
TurboC++是一个过时的编译器(对于C ++的过时变体);不要使用它。
TinyC(例如tcc
命令)是C的编译器,而不是C ++的编译器。
C和C ++是不同的语言,你想学习至少C++11(因为旧的C ++标准已经过时且非常不同,2017年不值得学习) 。
所以,获取并使用free software C ++ 11编译器,如GCC或Clang。 BTW在大多数Linux发行版上都很容易获得(我建议你使用)。
当然,您希望使用警告和调试信息进行编译,因此请使用
g++ -Wall -Wextra -g
clang++ -Wall -Wextra -g
和g++
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