使用 -l 混淆在 G++ 中包含库
Including libraries in G++ using -l confusion
我正在尝试使用外部库,但我对它们如何组合在一起感到困惑。
我有以下代码,我要做的就是编译:
#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++ 的 .so 文件中包含库
- 如何在内核中添加包含库的路径?
- 在基于命令行的QT插件构建中包含库
- 检查包含库C++的大小
- 在 C++ 中包含库数据库.txt文件时出错
- C++ 在虚幻引擎中包含库后重新定义类型
- 无法在Windows中找到来自cmake的MySQL和Boost包含/库
- 包含库,同时在 XCode 中以C++编码
- 如何在 CMake 项目中正确包含库
- 修改生成文件以包含库并使用 C++11
- 忽略来自 GDB(终端)中的包含/库文件的调试消息
- 在标题文件和CPP文件中都包含库
- 在Visual Studio C 项目中设置默认的附加包含/库路径
- 在C 项目中包含库的不同方式是什么?
- 在 cmake c++ 项目中包含库的首选方法是什么?
- 在包含库时找不到Qt shared_ptr
- 如何在命令行上使用 Visual Studio 进行编译时包含库
- 彭博数据 API 如何包含库 c++
- G++ 不包含库
- 如何使用函数,而不必在C++中包含库