linux下鏈接庫失敗的原因分析

很多時(shí)候,編譯的時(shí)候,現(xiàn)實(shí)函數(shù)未定義的引用,肯定是鏈接庫出問題了。我遇到過幾種情況:
1.路徑添加失敗。在makefile中,我添加了庫的路徑,不管是絕對(duì)路徑還是相對(duì)路徑,結(jié)果都失敗了。這到底是什么原因?qū)е?L失效了呢?之后,我在bashrc文件中,添加庫路徑,之后,編譯通過。
2.這個(gè)是今天遇到的問題。我編寫了一個(gè)makefile。
all : $(TARGET)
.PHONY: all
$(TARGET) : $(SRC)
g++ $(LIB) $(INCLUDE) -o $@ $^ -pthread -lm
.PHONY : clean
clean :
@rm -r $(TARGET)
編譯的時(shí)候,顯示函數(shù)未定義的引用。我仔細(xì)檢查了一下,沒有錯(cuò)誤。經(jīng)過反復(fù)驗(yàn)證,是命令行的問題。
正確格式:g++ $(INCLUDE) -o $@ $^ -pthread -lm $(LIB)
遇到問題,記錄下來,以后研究。不管如何,問題解決了。
相關(guān)文章
- 靜態(tài)鏈接庫就是.lib文件,能夠?qū)⒑瘮?shù)和數(shù)據(jù)編譯到一個(gè).lib文件中,那么Linux系統(tǒng)要如何建立靜態(tài)鏈接庫呢?下面為大家詳細(xì)介紹下2015-02-14
Linux系統(tǒng)下動(dòng)態(tài)庫的生成
這篇文章主要為大家介紹了Linux系統(tǒng)下動(dòng)態(tài)庫是怎樣生成的,以及動(dòng)態(tài)庫的含義,需要的朋友可以和腳本之家的小編一起來學(xué)習(xí)一下2014-09-21- Linux下的鏈接文件可以分為硬鏈接(hard link)與軟鏈接(soft link)。下面小編將詳細(xì)的講解Linux下的鏈接文件,有需要的朋友可以過來看看2016-11-24
實(shí)例講解Linux系統(tǒng)中硬鏈接與軟鏈接的創(chuàng)建
硬鏈接與軟鏈接的區(qū)別從根本上要從Inode節(jié)點(diǎn)說起,下面就以實(shí)例講解Linux系統(tǒng)中硬鏈接與軟鏈接的創(chuàng)建,來實(shí)際看看Linux中兩種鏈接方式的不同2016-06-07Linux中文件與目錄對(duì)應(yīng)的硬鏈接與軟鏈接方式總結(jié)
Linux中內(nèi)核會(huì)為文件分配inode節(jié)點(diǎn),而硬鏈接和軟鏈接的一大不同就是是否重新分配inode,這里我們就來做一個(gè)Linux中文件與目錄對(duì)應(yīng)的硬鏈接與軟鏈接方式總結(jié),需要的朋友可以2016-06-07Linux給文件或目錄創(chuàng)建軟鏈接或硬鏈接的方法
想給電腦中的文件或目錄創(chuàng)建軟鏈接或硬鏈接,但很多用戶都不知道,因此下面為大家普及下,在各種情況下都給予適當(dāng)?shù)姆椒?/div> 2015-04-28Linux給文件或目錄創(chuàng)建軟鏈接、硬鏈接簡(jiǎn)潔指南
這篇文章主要介紹了Linux給文件或目錄創(chuàng)建軟鏈接、硬鏈接簡(jiǎn)潔指南,本文用簡(jiǎn)潔的語言講解了ln命令的使用,需要的朋友可以參考下2015-04-09Linux系統(tǒng)中什么是軟鏈接什么是硬鏈接如何辨別
Linux系統(tǒng)中什么是軟鏈接,什么是硬鏈接,下面為大家做個(gè)Linux系統(tǒng)的軟鏈接和硬鏈接的比較,感興趣的朋友可以看看2014-12-28這篇文章主要介紹了linux系統(tǒng)的軟連接和硬鏈接,需要的朋友可以參考下2014-04-29最新評(píng)論