首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++ -对"sodium_init“的未定义引用

C++ -对"sodium_init“的未定义引用
EN

Stack Overflow用户
提问于 2017-02-14 23:46:09
回答 1查看 3K关注 0票数 4

我试图使用 using 开发一个测试应用程序,但是我得到了错误:

代码语言:javascript
复制
main.cpp:6: undefined reference to `sodium_init'

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

代码语言:javascript
复制
$ ./configure
$ make && make check
$ make install

这是有问题的代码。

代码语言:javascript
复制
#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++编译器选项如下:

代码语言:javascript
复制
-g;-O0;-Wall;-lsodium

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

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

有人能帮我解决我的问题吗。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-14 23:47:53

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

代码语言:javascript
复制
g++ main.cpp -lsodium

在IDE中,确保添加了-lsodium作为链接器参数。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42238315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档