gpt4 book ai didi

c++ - 使用 -l 混淆在 G++ 中包含库

转载 作者:行者123 更新时间:2023-11-27 22:54:04 25 4
gpt4 key购买 nike

我正在尝试使用外部库,但我对它们如何组合在一起感到困惑。

我有以下代码,我想做的就是编译:

#include "cryptopp/sha.h"

int main()
{
CryptoPP::SHA1 sha1;
return 0;
}

我正在使用 g++ 进行编译,从我的研究中我收集到我需要追加

-lcryptopp

到编译命令的结尾,像这样:

g++ crypto.cpp -o crypto.exe -lcryptopp

但我收到以下错误:

/usr/lib/gcc/x86_64-pc-cygwin/4.9.3/../../../../x86_64-pc-cygwin/bin/ld: 找不到 -lcryptopp

这是我感到困惑的地方,我不太确定 -lcryptopp 正在寻找什么,它是在寻找我在代码中包含的 sha.cpp/sha.h 文件吗?但更重要的是,我如何指定无论它要查找什么,我只想让它在与我的主 .cpp 相同的文件夹中的 cryptopp 文件夹中查找?

最佳答案

-lcryptopp 告诉链接器将您的 exe 链接到动态库(共享对象)文件 libcryptopp.so。 GNU 链接器在各种目录(如 /lib/usr/lib 等)中搜索共享对象文件。

您可以使用-L 选项指定其他目录来搜索库文件,例如-L/usr/local/lib。您应该找到您的库文件 libcryptopp.so 所在的位置,并使用 -L 选项将路径传递给它。

关于c++ - 使用 -l 混淆在 G++ 中包含库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34820754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com