iT邦幫忙

0

lib 有辦法被 g++ 載入嗎?

  • 分享至 

  • xImage

目錄結構如下,include 與 lib 為資料夾分別包含 h 檔與對應的 lib。

inlcude
    cal.h
lib
    cal.lib
hello.cpp

並且執行如下指令編譯

g++ -iquote .\include -L .\lib -l cal .\hello.cpp -o hello.exe

會出現找不到 add reference,爬了歸納出是 link 環節錯誤,g++ 沒有找到 cal.lib 中的 add 函數,但是有找到 cal.lib 檔案本身的

undefined reference to `add@4'

後來使用 visual studio 開啟 c++ 專案,再設定一下 .h 檔案與 .lib 檔案路徑,就能編譯成功。
(當然沒有 .lib 原始碼的。)

請問是 lib 檔案不被 g++ 所接受嗎?還是參數給錯了呢?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
giboli
iT邦見習生 ‧ 2022-03-17 10:58:08

試試看這方法:
1)將 cal.lib 改名成 cal.a

2)g++ -iquote .\include .\lib\cal.lib .\hello.cpp -o hello.exe

參考:
https://stackoverflow.com/questions/47410667/link-to-external-library-with-g

我要發表回答

立即登入回答