问题:
在Linux下编译程序的时候免不了调用别人或者第三方开源的库,我们知道Linux在编译的时候链接动态库可以有两种方案:
-
-l
如-ldl,链接的就是libdl.so -
-L
如-L /usr/lib64/libdl.so
如果你用到的库不是以”lib”开头名字的库怎么办?如大数库miracl.a、testAPI.so这你怎么链接呢?
解决方案:
-
修改库的名字
如把miracl.a修改为libmiracl.a,再用上述的方法-lmiracl链接到程序中。
gcc -o test test.c -I./include -lmiracl -ltestAPI
- 不修改名字的话就只能用 -L 方式链接这个库了
gcc -o test test.c -I./include -L./lib miracl.a testAPI.so
如果没有环境变量就需要写绝对路径
gcc -o test test.c -I./include -L /home/test/miracl.a /home/test/testAPI.so
版权声明:本文为xuebing1995原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。