[問題]想請問有關使用open source的問題

看板C_and_CPP (C/C++)作者 (qq)時間16年前 (2009/09/19 08:56), 編輯推噓2(2014)
留言16則, 3人參與, 最新討論串1/1
不好意思小弟我是新手,如果有問到蠢問題請各位見諒, 最近在研究加解密以及大數運算, 所以想試試看MIRACL這個open source。http://www.shamus.ie/ 下載好之後解壓縮會有一些檔案以及資料夾, 它的User's Manual PDF檔案裡面,有講說在各個環境底下如何使用, 例如BCB,VC++,但沒有提到Dev c++或是其他的方法。 小弟今天的問題是, 如果我想要在Dev c++中使用這套函式庫,或者是直接不用IDE, 有辦法可以使用類似的函式庫嗎?(之後可能還會研究其他的函式庫) 在Dev c++中我有設路徑了,(工具->compiler選項->目錄) 函式庫設到MIRACL解壓縮後.lib的資料夾,include我也有設成MIRACL的include路徑, 無奈編譯的時候,還是出現 [Linker error] undefined reference to `mirvar(int)' 類似這種訊息, 以上如果有觀念薄弱的地方希望大家指教, 謝謝大家。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.126.18.212

09/19 09:10, , 1F
在開始的地方我有#include "miracl.h" 這樣
09/19 09:10, 1F

09/19 10:04, , 2F
你需要告訴 compiler 你要連結他的 .lib
09/19 10:04, 2F

09/19 10:05, , 3F
Dev-c++ 的話底層是 gcc, 應該用 -l 參數指定即可
09/19 10:05, 3F

09/19 10:37, , 4F
樓上可以說的清楚點嗎?在哪裡使用-1參數指定?
09/19 10:37, 4F

09/19 10:37, , 5F
非常感謝!
09/19 10:37, 5F

09/19 10:51, , 6F
我們可以用命令列模式傳參數給 g++ 做編譯的動作
09/19 10:51, 6F

09/19 10:51, , 7F
舉例來說: g++ test.cpp -o test.exe 這樣
09/19 10:51, 7F

09/19 10:54, , 8F
當我們要額外在連結某個 lib 檔時,可以這樣寫:(前提是那
09/19 10:54, 8F

09/19 10:54, , 9F
個 lib 檔的檔名必須如 libXXXXX.a )
09/19 10:54, 9F

09/19 10:55, , 10F
g++ test.cpp -o test.exe -lMYLIB
09/19 10:55, 10F

09/19 10:55, , 11F
此時 g++ 就會一起連結上 libMYLIB.a
09/19 10:55, 11F

09/19 10:56, , 12F
我在 Windows 下用 g++ 時,直接指定 library 的完整檔名
09/19 10:56, 12F

09/19 10:56, , 13F
以及完整路徑也可以編譯,不過不要加 "-l" 參數
09/19 10:56, 13F

09/19 10:56, , 14F
例如 g++ test.cpp -o test.exe ./libMYLIB.a
09/19 10:56, 14F

09/19 10:57, , 15F
至於 Dev-Cpp 的設定,在你開啟一個專案後,專案設定的地
09/19 10:57, 15F

09/19 10:57, , 16F
方可以讓你設定要連結哪些 library.
09/19 10:57, 16F
文章代碼(AID): #1Aj2mxX6 (C_and_CPP)
文章代碼(AID): #1Aj2mxX6 (C_and_CPP)