隨筆-204  評論-90  文章-8  trackbacks-0

          引自:http://blog.csdn.net/lyuan13141234/article/details/5667570

          在linux下,編譯鏈接的時候,經常會遇到這樣一個問題,undefined reference to.....,引起這個問題的原因在于在鏈接的時候缺少選項。下面舉幾個例子,并給出解決辦法。

          1、undefined reference to `dlerror'
               undefined reference to `dlopen'
               undefined reference to `dlerror'

              解決辦法:在makefile的LDFLAGS后面把選項 -ldl 添加上即可。

          2、undefined reference to `main'

              解決辦法:在makefile的LDFLAGS后面添加 -nostartfiles 選項。

          3、undefined reference to `pthread_setspecific'
               undefined reference to `pthread_key_delete'
               undefined reference to `pthread_key_create'

              解決辦法:在makefile的LDFLAGS后面添加 -lpthread 選項。

          4、undefined reference to `clock_gettime'

              解決辦法:在makefile的LDFLAGS后面添加 -lrt 選項。

           

          不過要注意的是,如果undefined reference to后面的內容是在自己的文件中聲明或定義的東西,就不能用這種方法來解決了。這時就需要檢查一下自己的makefile涉及到源文件、頭文件的地方是否出錯了,也有可能是其他的原因。

          posted on 2012-07-04 17:29 一凡 閱讀(5317) 評論(1)  編輯  收藏 所屬分類: Linux C

          評論:
          # re: undefined reference to問題 2013-04-03 16:42 | 碩士生
          我遇到的這個問題是最外面的makefile中沒有包含出錯函數所在的路徑  回復  更多評論
            
          主站蜘蛛池模板: 通道| 阿瓦提县| 教育| 城口县| 高淳县| 墨脱县| 凤台县| 乌什县| 曲周县| 沂水县| 盐池县| 普兰店市| 务川| 靖边县| 柞水县| 汶川县| 石屏县| 东方市| 佛坪县| 南部县| 龙门县| 广饶县| 二手房| 元朗区| 祁东县| 海宁市| 浪卡子县| 石城县| 景洪市| 通化县| 始兴县| 股票| 宁都县| 陆河县| 承德县| 赤峰市| 哈尔滨市| 金阳县| 万州区| 五指山市| 雅江县|