看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) CentOS 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) TBB 問題(Question): 小弟曾在 #1MyEC2hp 請益關於編譯時怎麼解決需要link library的問題, 最後知道只要在編譯指令後方加入 -l<library name> 參數就好了, 但現在是需要make一個專案。 在板上有/makefile 過,也Google過「makefile link lib」關鍵字, 可是都沒找到滿意答案。 我的Makefile: https://gist.github.com/anonymous/b5a62411d51eca3c87f5 不太明白要在哪個地方加入 -ltbb 指令去link tbb library, 曾在 LIBS = -lz 的後方空一格再加上-ltbb,執行make依然error。 希望大家幫幫我 Orz。 願意給成功解答的人200P,拜託了 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.236.76.109 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1458668468.A.F68.html
Schottky: 這 Makefile 又不是你寫的,是 automake generate 出來的 03/23 01:51
Schottky: 正規作法應該要去改那個 autoconf 的設定檔增加程式庫 03/23 01:54
Schottky: 快速解法可以到 Makefile.in 增加 LDLIBS=-ltbb 03/23 01:56
Schottky: 不加在 Makefile 是因為你每次跑 ./configure 都會把 03/23 01:56
Schottky: 舊的 Makefile 用新產生的 Makefile 蓋掉 03/23 01:57
Schottky: make 時仔細看一下 echo 出來的 compile 命令列正不正確 03/23 01:59
透過板上donby大的教學,我終於找到關鍵的Makefile了! 改寫裡面的LIBS後也確實可以成功make,在此感謝!(已送P幣) 但似乎是治標不治本的做法。 關於正規做法,怎麼找到autoconf編輯呢?這好像是一條指令。 (這問題解了再給100P) ※ 編輯: henry8168 (36.236.76.109), 03/23/2016 03:03:36
Schottky: 檔案預設叫 configure.ac,你需要有安裝 autoconf 03/23 03:03
Schottky: 在檔案中加入 AC_CHECK_LIB() 或 AC_SEARCH_LIBS() 03/23 03:04
Schottky: 說明文件在 http://goo.gl/QqMVba 03/23 03:05
Schottky: 記得要加在 AC_INIT 之後,AC_OUTPUT 之前 03/23 03:06
Schottky: 不用給我 P 幣了,感謝你的好意不過我用不到 :) 03/23 03:06
謝謝你們!好睏哦,但學到很多XD ※ 編輯: henry8168 (36.236.76.109), 03/23/2016 03:09:17
Schottky: 呃,我忘了另一個較簡單的作法,你先設定環境變數 03/23 03:39
Schottky: export LDFLAGS=-ltbb 或 setenv LDFLAGS=-ltbb 03/23 03:40
Schottky: 說錯了,不是 LDFLAGS 而是 LIBS 03/23 03:41
Schottky: 這樣 LIBS 環境設定就會被包進新的 Makefile 裡 03/23 03:41
Schottky: 這招打 configure --help 顯示的說明書最後面就有寫了 03/23 03:42
對吼,還有環境變數可以更改 ※ 編輯: henry8168 (140.123.104.195), 03/23/2016 16:53:06