g++ gcc 编译参数

  • Post author:
  • Post category:其他




前言

我们使用 gcc 和 g++ 进行编译时,会面临有许多编译参数却不知道从哪入手的情况,下文对其进行总结。



编译参数

  • 编译 32bit 程序
gcc -m32 test.cpp -o test.out 
  • 编译 64bit 程序
gcc -m64 test.cpp -o test.out 
  • 将多个文件编译成 dll

    项目的目录文件如下:

    在这里插入图片描述

    先编译成 .o 文件
g++ -c JNIdll.cpp personTran.cpp person.cpp timer.cpp stdafx.cpp

再链接成 dll 文件

g++  -D _GLIBCXX_USE_CXX11_ABI=0 --share dllmain.o JNIdll.o personTran.o person.o timer.o stdafx.o -o JNIdll.dll -lm
  • 将多个文件编译成 .so 文件,工程目录如上,编译成 JNIdll.so 文件
g++ JNIdll.cpp personTran.cpp person.cpp timer.cpp -fPIC -shared -o JNIdll.so
  • 添加宏定义
g++  -D _GLIBCXX_USE_CXX11_ABI=0 -c JNIdll.cpp



结束语

本人大三学生一枚,学识尚浅,不喜勿喷,希望今日能抛砖引玉,请各位大佬一定不吝赐教!!!



版权声明:本文为m0_44993395原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。