链接静态库的时候,命令行中库和源文件的位置问题

PJSIP项目,由于pjsip不支持编译成动态库,只能编译成静态库,所以在编译基于pjsip SUA的应用程序的时候,遇到问题,如果这样写编译命令行:

gcc -o xxx $@ -Wall -std=c99 -g `pkg-config --cflags libpjproject` `pkg-config --libs libpjproject` $^

编译就会出错,链接的时候undefined reference,PJSIP库里面的函数都无法链接。

但是如果这样就OK:

 gcc -o xxx $@ -Wall -std=c99 -g $^ `pkg-config --cflags libpjproject` `pkg-config --libs libpjproject`

所以记录下来,将来可能还会碰到类似问题。 

原文地址:https://www.cnblogs.com/super119/p/1972333.html