我已经从官方网站下载了Crypto++ 7.0.0,构建了一个静态库,包括cryptlib头:
#include "cryptlib.h"
当我试图用以下代码编译程序时:
gcc main.cpp ./cryptopp700/libcryptopp.a
它向我抛出这样的错误:
main.cpp:2:10: fatal error: cryptlib.h: No such file or directory
#include "cryptlib.h"
^~~~~~~~~~~~
compilation terminated.
我也试探着:
-L. -llibcryptopp //while moving libcryptopp.a to the same directory main.cpp is
-L./cryptopp700 -llibcryptopp
所以我开始怀疑我是否做错了什么,但是当我用静态库检查代码示例时,一切似乎都很好。
救命啊
2条答案
按热度按时间dffbzjpn1#
依据:
还有:
您的目录结构如下所示:
您应该只需要将
cryptopp700/
添加到包含头搜索路径中,并使用-I
:请注意,您还应该使用***g++***(C++编译器),而不是***gcc***(C编译器)。
您也可以在建置程式库之后安装程式库。预设会安装到
/usr/local
中,其中包含:您可以使用
PREFIX
安装到其他位置:然后,您可以将编译和链接命令更改为类似以下内容:
在安装完如下所示的程序后,我通常会告诉大家运行自检程序。不幸的是,如果你只做了一个
make -j 4
或类似的程序,那么自检程序就不会工作。下面是您将得到的错误:
我的想法是事情应该“只是为你工作”。你不应该担心
CRYPTOPP_DATA_DIR
的一个常见的情况。你当然不应该有RTFM使常见的情况下工作。这告诉我有一个缺陷,在我们的工程过程。我们现在要解决这个问题:第760期,Make self-tests run after install by a typical user。
nkkqxpd92#
对我来说,安装开发crypt库解决了这个问题: