2013-05-30 23 views
1

我有一個小型項目在我的大學的課程中創建,需要使用Crypto ++庫。 要求是我們不包括Crypto ++的整個源代碼/二進制文件,但是將它從外部目錄鏈接起來。 (例如C:\ cryptopp)。這是因爲審閱者會鏈接他/她自己的目錄來評估我的代碼。在個人項目中使用cryptopp(mingw)

現在,我創建Makefiles真的很糟糕,並且完全不瞭解它們的內容。

我使用的Windows 7

的MinGW所以我的主要queston會是什麼,我需要在Makefile在我的項目中使用的加密++從外部文件夾寫?

+0

其習慣上贊成正確的答案。 – jww

回答

1

假設你有下面的Makefile:

unit.exe: unit.o 
    g++ unit.o -o unit.exe 

unit.o: unit.cc unit.h 
    g++ -c unit.cc -o unit.o 

爲了修改它使用一個外部庫,您必須使用GCC -I-L選項:

unit.exe: unit.o 
    g++ unit.o -o unit.exe -L /c/cryptopp -l ws2_32 -l cryptopp 

unit.o: unit.cc unit.h 
    g++ -I /c/cryptopp -c unit.cc -o unit.o 

通常一個Makefile應包含一個傳遞給編譯器的變量和一個傳遞給鏈接器的變量,例如CFLAGS和LDFLAGS。如果是這種情況,那麼將「-I」和「L」選項添加到編譯器和鏈接器變量可能更容易。

另請參閱here以獲取CryptoPP的配對方法。

+0

謝謝你的回答:)這是一個學校任務所必需的,但我選擇了一個不同的練習。 – xenover