GCC编译器生成库文件并编译

//正常编译 g++ main.cpp src/swap.cpp -Iinclude -Wall -std=c++11 -o xcm

静态库(把swap.cpp生成一个静态库)

1、进入src文件夹下

cd src

2、汇编,生成swap.o文件

g++ swap.cpp -c -I../include

3、生成静态库libSwap.a(把swap.o这个静态文件归档为libSwap.a这样的静态库文件)

ar rs libSwap.a swap.o

4、回到上级目录

cd ..

5、连接,生成可执行文件:staticmain

g++ main.cpp -lSwap -Lsrc -Iinclude -o staticmain // lSwap 第三步生成的静态库为libSwap.a,这里填写lib*.a中的* l* //Lsrc 这个为静态链接库的路径 //linclude 找头文件

动态链接库

1、进入src目录下

cd src

2、生成动态库libSwap.so

g++ swap.cpp -I../include -fPIC -shared -o libSwap.so //上面的命令等于以下两条命令 gcc swap.cpp -I../include -c -fPIC gcc -shared -o libSwap.so Swap.o

3、回到上级目录

cd ..

4、链接,生成可执行文件:sharemain

g++ main.cpp -Iinclude(大写i) -Lsrc -lSwap(小写l) -o sharemain

5、编译(动态库需要连接到.so文件,所以需要加上.so文件的路径)

LD_LIBRARY_PATH = src ./sharemain
经验分享 程序员 微信小程序 职场和发展