1

我有一个小项目要在我大学的一门课程中创建,需要使用 Crypto++ 库。要求是我们不包括 Crypto++ 的整个源代码/二进制文件,而是从外部目录链接它。(例如 C:\cryptopp)。这是因为审阅者会链接他/她自己的目录来评估我的代码。

现在,我真的不擅长创建 Makefile 并且不完全理解它们的内容。

我在 Windows 7 上使用 MinGW。

所以我的主要问题是,我需要在 Makefile 中写什么才能在我的项目中从外部文件夹中使用 Crypto++?

4

1 回答 1

1

假设您有以下生成文件:

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”选项添加到编译器和链接器变量可能会更容易。

另请参阅此处了解编译 CryptoPP 的方法。

于 2013-05-30T19:12:29.733 回答