windows命令行(或linux)下用gcc/g++编译多个c/cpp文件
2013-11-27 15:17
645 查看
最近一直强迫自己用命令行的方式来编译连接运行文件,当然这个在单个文件的情况下还是很好搞定的嘛。。。
不过在开始学会把一个程序分成几个文件后(有头文件之类的和其他的几个c/cpp文件),不知道怎么编译运行就是个问题了,而且会出现一些常见错误。
下面主要介绍下常用的方式:
单个文件的情况:
g++ filename.cpp
这是最简单的形式,linux下默认输出是a.out(windows下默认是a.exe),另外可以用 -o 命令指定输出名,命令形式如下:
g++ filename.cpp -o filename
多个文件的情况(假定有2个文件文件分别是1.cpp和2.cpp):
第一种方法
g++ -c 1.cpp -o 1.o
g++ -c 2.cpp -o 2.o
g++ 1.o 2.o -o prog (或者linux下输入g++ 1.o 2.o -o prog.out )
第二种方法
单个文件一般用g++ -o filename filename.cpp
多个文件时用 g++ -o file file1.cpp file2.cpp ...
注意:gcc可以用来编译链接.c源程序,gcc同样可以编译.cpp文件,但是不能链接.cpp文件生成可执行文件。只有g++可以编译并且链接.cpp,g++在编译.cpp文件的时候自动调用gcc进行源文件的编译。
当然上面的使用方式具体选择哪个就看个人喜好了。
更多相关信息可参考如下的文章:
gcc/g++执行的步骤及参数简介
linux下编译器gcc/g++编译步骤
不过在开始学会把一个程序分成几个文件后(有头文件之类的和其他的几个c/cpp文件),不知道怎么编译运行就是个问题了,而且会出现一些常见错误。
下面主要介绍下常用的方式:
单个文件的情况:
g++ filename.cpp
这是最简单的形式,linux下默认输出是a.out(windows下默认是a.exe),另外可以用 -o 命令指定输出名,命令形式如下:
g++ filename.cpp -o filename
多个文件的情况(假定有2个文件文件分别是1.cpp和2.cpp):
第一种方法
g++ -c 1.cpp -o 1.o
g++ -c 2.cpp -o 2.o
g++ 1.o 2.o -o prog (或者linux下输入g++ 1.o 2.o -o prog.out )
第二种方法
单个文件一般用g++ -o filename filename.cpp
多个文件时用 g++ -o file file1.cpp file2.cpp ...
注意:gcc可以用来编译链接.c源程序,gcc同样可以编译.cpp文件,但是不能链接.cpp文件生成可执行文件。只有g++可以编译并且链接.cpp,g++在编译.cpp文件的时候自动调用gcc进行源文件的编译。
当然上面的使用方式具体选择哪个就看个人喜好了。
更多相关信息可参考如下的文章:
gcc/g++执行的步骤及参数简介
linux下编译器gcc/g++编译步骤
相关文章推荐
- windows下在GVIM中使用gcc/g++编译调试c/cpp文件
- [vim配置]windows下在vim中使用gcc/g++编译调试c/cpp文件
- windows下在vim中使用gcc/g++编译调试c/cpp文件
- windows下在vim中使用gcc/g++编译调试c/cpp文件
- windows(8) 下在GVIM中使用gcc/g++编译调试c/cpp文件
- .c/.cpp文件windows命令行下编译,运行.c/.cpp文件
- .c/.cpp文件windows命令行下编译,运行.c/.cpp文件
- windows 环境下 cpp 文件命令行编译的配置 & 带参数的main函数的编译和运行
- linux 环境下 G++编译cpp文件
- windows命令行使用gcc编译.c/.cpp文件
- C++中的hash_map__Linux下g++和Windows下VC++下头文件,命名空间
- windows 命令行下编译运行.class文件
- Windows下的C/C++ 命令行编译单文件多文件和加头文件等方法
- 在linux命令行中编译和运行java文件
- g++编译cpp文件
- linux下gcc/g++编译用法
- linux下编译器gcc/g++编译步骤
- 有哪位大神知道windows下如何将golang的可执行文件编译成linux下的可执行文件
- Linux下静态库_库的基本概念;如何生成静态库动态库;nm查看库中包含那些函数、ar生成静态库,查看库中包含那些.o文件、ldd查看程序依赖的.so文件;gcc/g++与库相关的参数-L,-l,-f
- linux下编译器gcc/g++编译步骤