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
