前言
我们使用 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 版权协议,转载请附上原文出处链接和本声明。