gpt4 book ai didi

C++ - 对 "sodium_init"的 undefined reference

转载 作者:搜寻专家 更新时间:2023-10-31 00:55:23 37 4
gpt4 key购买 nike

我正在尝试使用 libsodium 制作测试应用程序,但出现错误:

main.cpp:6: undefined reference to `sodium_init'

我运行了以下命令以 root 用户身份安装。

$ ./configure
$ make && make check
$ make install

这是有问题的代码。

#include <stdio.h>
#include <sodium.h>

int main(int argc, char **argv)
{
if (sodium_init() == -1)
{
return 1;
}

printf("libsodium had no issues!\n");
return 0;
}

我使用 CodeLite 作为我的 IDE,我的 C++ 编译器选项如下:

-g;-O0;-Wall;-lsodium

选项是默认选项,我将 -lsodium 添加到列表中。

尝试使用以下命令直接从终端编译 main.cpp g++ -lsodium main.cpp 会引发相同的错误。

有人可以帮我解决我的问题吗。

最佳答案

用于链接的库按顺序搜索,因此您需要将库放在本地翻译单元之后:

g++ main.cpp -lsodium

在您的 IDE 中,确保将 -lsodium 添加为 linker 参数。

关于C++ - 对 "sodium_init"的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42238315/

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