问题的场景是在公司服务器上编写demo测试公司内部的库文件功能时,发现我的用户没有权限,无法将动态库复制到usr/lib下,只好尝试加-L参数,手动制定库文件路径,但是这个-L参数从来都没有起作用过,依然是在编译时找不到库文件。
最终解决办法:编译时添加参数 ./动态库路径.so
比如
动态库路径为trainee/work/sjn/libxipc/libxipc.so
头文件路径为trainee/work/sjn/
当前目录为trainee/work/sjn
编译指令为:gcc main.c -o main -I . ./libxipc/libxipc.so
若涉及多个动态库,要考虑相互的引用关系,把被包含的库放到编译指令的最后。