忘掉-lpthread而用-pthread

这两天在ubuntu下编译libcurl库,使用libcurl.a老是出现莫名其妙的情况,一连搞了两天总算明白了。请看:

用以下指令时出现错误:gcc -lpthread -L../lib -lcurl -o simple simple.c

忘掉-lpthread而用-pthread_第1张图片

当用以下指令时也出现链接错误:gcc -o simple simple.c -lpthread -L../lib -lcurl

忘掉-lpthread而用-pthread_第2张图片

 

这使我百思不得其解,找度娘帮忙也没有找到合适的答案。后来我发现吧-lpthread 放到后面就正常了。

gcc -o simple simple.c -L../lib -lcurl -lpthread

由于开发任务紧,又加上马上到饭点了,我就不想深究了,以后再说。
可是等我吃完饭回来,我就发现无论我把pthread放在前面还是后面,又都可以编译了,神奇吧?!忘掉-lpthread而用-pthread_第3张图片

诸位看上面的命令发现和最开始的有什么不同吗?哈哈,原来是我敲键盘的时候不小心把 -lpthread搞成-pthread了,

这竟然歪打正着了。看了simple_孙和skylinethj的文章,我终于明白了,这真是一个血的教训啊!

参考 https://www.cnblogs.com/suntp/p/6473751.html

       http://blog.csdn.net/skylinethj/article/details/38569243

       

 

你可能感兴趣的:(忘掉-lpthread而用-pthread)