隨筆-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 一凡 閱讀(5315) 評論(1)  編輯  收藏 所屬分類: Linux C

          評論:
          # re: undefined reference to問題 2013-04-03 16:42 | 碩士生
          我遇到的這個問題是最外面的makefile中沒有包含出錯函數所在的路徑  回復  更多評論
            
          主站蜘蛛池模板: 鲁甸县| 金塔县| 玛多县| 巴东县| 卢氏县| 东丰县| 宁河县| 仁怀市| 潮州市| 临安市| 水富县| 牟定县| 精河县| 彰化市| 滕州市| 黄山市| 建德市| 乌拉特后旗| 通榆县| 霍林郭勒市| 新安县| 河间市| 化德县| 昭觉县| 会昌县| 和田市| 色达县| 临漳县| 双牌县| 嵊州市| 宁远县| 迁西县| 饶平县| 汾西县| 平阴县| 大悟县| 南川市| 绥阳县| 都匀市| 堆龙德庆县| 栖霞市|