Mac下编译C++文件为可执行文件 | 您所在的位置:网站首页 › macos可执行文件格式 › Mac下编译C++文件为可执行文件 |
1.编译程序 g++ -std=c++11 aidl2cpp4btvr.cpp -o aidl2cpp4btvr -L/usr/local/lib -ljsoncpp -L:第三方库路径(不是必须,没有就会默认lib库中去找) -l: 第三方库名称 形如libzmq.so,掐头去尾 2.执行程序 ./aidl2cpp4btvr 参考: 以1.cpp为例: 命令:g++ 1.cpp 功能:生成默认为a.exe的文件,包含了编译链接。二、常用命令 g++ -E 1.cpp > 1.i Preprocess only; do not compile, assemble or link只预处理,不生成文件。这一步主要进行宏的替换、注释消除、找到库文件。1.i 中会有很多代码。 g++ -S 1.cpp Compile only; do not assemble or link只编译,不汇编、不连接 ,生成1.s.,里面是汇编指令 g++ -c 1.cpp Compile and assemble, but do not link从汇编生成目标代码(机器码). 生成1.o文件。 g++ 1.o -L链接目标代码,生成可执行程序 g++ xxx.x -o yyy.x输出自己想要的名字。 gcc和g++都是GNU(组织)的一个编译器。 1.后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。 2.编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接,为了统一起见,干脆编译/链接统统用g++了,这就给人一种错觉,好像cpp程序只能用g++似的。 |
CopyRight 2018-2019 实验室设备网 版权所有 |