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

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

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

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

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

          2、undefined reference to `main'

              解決辦法:在makefile的LDFLAGS后面添加 -nostartfiles 選項(xiàng)。

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

              解決辦法:在makefile的LDFLAGS后面添加 -lpthread 選項(xiàng)。

          4、undefined reference to `clock_gettime'

              解決辦法:在makefile的LDFLAGS后面添加 -lrt 選項(xiàng)。

           

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

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

          評論:
          # re: undefined reference to問題 2013-04-03 16:42 | 碩士生
          我遇到的這個問題是最外面的makefile中沒有包含出錯函數(shù)所在的路徑  回復(fù)  更多評論
            

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 垫江县| 龙南县| 绵竹市| 丰城市| 临澧县| 拉孜县| 墨竹工卡县| 清苑县| 池州市| 嘉义县| 定日县| 通城县| 陈巴尔虎旗| 克山县| 托里县| 衡东县| 昌江| 通城县| 乌海市| 桂平市| 双城市| 黄梅县| 离岛区| 遵化市| 宜黄县| 井研县| 祥云县| 称多县| 柯坪县| 和平区| 车险| 黑河市| 樟树市| 宝清县| 锡林郭勒盟| 广德县| 蛟河市| 民和| 宕昌县| 平凉市| 临澧县|