Linux如何链接不是以”lib”开头名字的库

  • Post author:
  • Post category:linux




问题:

在Linux下编译程序的时候免不了调用别人或者第三方开源的库,我们知道Linux在编译的时候链接动态库可以有两种方案:

  • -l

    如-ldl,链接的就是libdl.so

  • -L

    如-L /usr/lib64/libdl.so

如果你用到的库不是以”lib”开头名字的库怎么办?如大数库miracl.a、testAPI.so这你怎么链接呢?



解决方案:

  1. 修改库的名字

    如把miracl.a修改为libmiracl.a,再用上述的方法-lmiracl链接到程序中。
 gcc -o test test.c -I./include -lmiracl -ltestAPI
  1. 不修改名字的话就只能用 -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 版权协议,转载请附上原文出处链接和本声明。