gpt4 book ai didi

c++ - 如何在不将库源添加到项目的情况下将库链接到 CodeBlocks & GCC 中的项目

转载 作者:太空宇宙 更新时间:2023-11-04 11:41:38 24 4
gpt4 key购买 nike

我正在编写一个使用 hashlib++ 库(或将使用它)的程序,但我不想将它的所有源文件添加到我的项目中,因为它很大。无论如何链接到 hashlib++ 源文件,以便我可以在我的项目中使用它?我试过用一个简单的链接直接链接到标题

#include "path/to/hashlibpp.h"

但是当我尝试从库中调用任何函数时,我收到了一个非常好的错误。例如:

undefined reference to `sha1wrapper::sha1wrapper()

我正在使用 Code::Blocks IDE 和 GCC 编译器。

最佳答案

首先你必须在你的机器上安装库,已经编译成静态或动态库文件。您可以从源代码安装,或者您可以找到适用于您的操作系统的预构建包(取决于您使用的操作系统)。您需要知道图书馆的名称。

对于 hashlib++,他们在 README 中提供了从源代码构建静态库的说明。 ;见 3.2 节。

在大多数情况下,动态链接是最好的选择。这意味着库在运行时与库链接,而不是在编译时将库添加到您的可执行文件中(这会使您的可执行文件更大)。

不幸的是,根据他们的 README.txt,hashlib 只能作为静态库使用,这限制了您的选择。

当使用 gcc 在命令行上编译程序时,'-l' 选项链接到库中:

gcc -o MyProg -lhl++ MyProg.c

当使用像 Code::Blocks 这样的 IDE 时,您通常必须指定要链接的库。参见 this answer有关如何使用 Code::Blocks 执行此操作的详细信息。

关于c++ - 如何在不将库源添加到项目的情况下将库链接到 CodeBlocks & GCC 中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21127038/

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