linux licurl及静态库问题
问题1:我将libcurl封装成一个动态库,用测试程序测试结果阻塞在curl_easy_perform这个接口这儿,此时正在上传文件,文件已经上传完成,但还是会一直阻塞在这个接口这儿。如何不封成库,直接在库中加入main函数调用接口是没问题的。
问题2:上面的这个问题中我是封了一个动态库,我尝试着去编译一个静态库,但是在连接其他库的时候老是提示路径不存在,
我是这样写的:ar -cvr test.a test.o -L. lcurl -L/usr/lib ........
make:ar: -L/usr/lib: No such file or directory
请大牛指导一下。先谢啦!
[解决办法]
-lcurl
[解决办法]
理解-L -l是啥意思
-L是需要依赖的动态库/静态库的搜索路径(默认路径是LD_LIBRARY_PATH)
-l是需要依赖的动态库/静态库的名字 libxxx.so / libxxx.c ==> -lxxx
[解决办法]
ar是打包指令,无链接方式
如果你想要把curl库包含进test.a中,那么应该先用ar x把curl解开,然后全部打包
[解决办法]
动态库不会编到静态库里的,修改makefile直接把curl编译成静态库吧