用 gcc/g++ 编译器编译 c++
Posted
技术标签:
【中文标题】用 gcc/g++ 编译器编译 c++【英文标题】:compiling c++ with gcc/g++ compiler 【发布时间】:2009-07-20 11:48:19 【问题描述】:我是 C++ 新手,我想编译我的测试程序。 我现在有 3 个文件 "main.cpp" "parse.cpp" "parse.h"
如何用一个命令编译它?
【问题讨论】:
【参考方案1】:同时编译它们并将结果放在a.out中
$ g++ file.cpp other.cpp
同时编译它们并将结果放在 prog2 中
$ g++ file.cpp other.cpp -o prog2
分别编译每个,然后将它们链接到 a.out
$ g++ -c file.cpp
$ g++ -c other.cpp
$ g++ file.o other.o
分别编译每个,然后将它们链接到 prog2 中
$ g++ -c file.cpp
$ g++ -c other.cpp
$ g++ file.o other.o -o prog2
【讨论】:
为了清晰起见投了赞成票,但对于更复杂的事情,我会调查 makefiles 我同意@Brian Agnew 的观点。它是真的.. 当我将使用 make 文件时。但对于小编译。只需使用命令就可以了...【参考方案2】:通常您会将make utility 与makefile 一起使用。 Here is a tutorial.
如果你只想要一个简单的编译虽然你可以直接使用 gcc...
您无需指定 .h 文件,因为它们包含在 .cpp 文件中。
gcc a.cpp b.cpp -o program.out ./program.out
【讨论】:
顺便看看我之前的问题,看看g++和gcc的区别:***.com/questions/172587/…【参考方案3】:使用命令行编译对于一个简单的基本程序来说是微不足道的,但是当你尝试编译一个“真正的程序”时,它变得更加困难或不可能。我的意思不是一个大的各种源文件的简单集合,例如带有一些编译器选项的库。
为此,有多种构建系统,我推荐您使用 CMake。 它是一个开源的跨平台构建系统,非常强大且易于使用。 我每天都在使用它,我认为它比 AutoTools 等其他工具更易于使用
更多信息:www.cmake.org
【讨论】:
【参考方案4】:在大多数情况下,如果你使用 g++ 编译器,你必须编译 main,使用这个命令:
g++ main.cpp -o main
在这种情况下,结果可执行文件将是“main”。 选项“-o”表示编译器将优化编译。 如果您想了解有关这些选项的更多信息,请查看手册页 (man g++)。
【讨论】:
-o 选项设置输出二进制文件的名称。 -On 用于优化,其中 n 是 0 到 4 或 s 之间的数字,具体取决于所需的优化。以上是关于用 gcc/g++ 编译器编译 c++的主要内容,如果未能解决你的问题,请参考以下文章