Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> 關於Linux >> Linux編譯link時提示undefined reference’dlclose’怎麼辦?

Linux編譯link時提示undefined reference’dlclose’怎麼辦?

日期:2017/1/25 10:28:01      編輯:關於Linux

  在Linux系統下編譯link時出現了錯誤,提示“undefined reference’dlclose@xxx函數”錯誤,相信不少用戶也遇到這個問題,這個問題不難解決,下面小編給大家介紹下undefined reference錯誤的解決方法。

Linux編譯link時提示undefined reference’dlclose’怎麼辦?

  編譯完link的時候,報了一句undefined reference’dlclose@xxx函數‘,找主程過來看了下,說是dl庫沒有包進去,查了下dl庫是用來做動態庫加載的(dynamic load),項目用到了libmysqld.so,加了之後還是有問題,將-ldl鏈接選項改到最後才可以。

  比較常見的undefined reference問題:

  1.dl庫

  undefined reference to ‘dlerror’

  undefined reference to ‘dlopen’

  undefined reference to ‘dlerror’

  增加-ldl鏈接選項 (-l是鏈接選項的前綴)

  2.pthread庫

  undefined reference to ‘pthread_create’

  undefined reference to ‘pthread_xxxx‘

  增加-lpthread鏈接選項

  3.rt庫

  undefined reference to `clock_gettime’

  增加-lrt鏈接選項

  如果是使用codeblocks,可以再link option裡加,不過因為依賴順序的問題,如果link option裡加了還是報錯,直接在link file裡添加pthread dl rt等即可

  如果是你自己的庫出現這undefined reference什麼函數,先去查下庫的源代碼,看看具體問題。

  上面就是Linux編譯link出錯的解決方法介紹了,本文除了介紹link出錯外,還總結了一些undefined reference問題,希望對你有所幫助。

Copyright © Windows教程網 All Rights Reserved