隨筆-204  評(píng)論-90  文章-8  trackbacks-0

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

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

          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)。

           

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

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

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

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 明溪县| 龙海市| 繁峙县| 岚皋县| 平南县| 安国市| 舞阳县| 金门县| 宁化县| 沂南县| 福鼎市| 浦北县| 额济纳旗| 托克逊县| 陵川县| 石屏县| 蓬莱市| 桑日县| 浪卡子县| 古田县| 当雄县| 临漳县| 桂林市| 威信县| 伊春市| 舞钢市| 丘北县| 黎平县| 三明市| 池州市| 伊春市| 明光市| 邹平县| 宁夏| 大港区| 曲沃县| 巧家县| 广水市| 阿尔山市| 沙雅县| 建始县|