2017-02-14 106 views
0

我试图让使用libsodium测试应用程序,但我得到的错误:C++ - 未定义参考“sodium_init”

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.cppg++ -lsodium main.cpp将引发相同的错误。

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

回答

1

库的链接进行搜索的顺序,因此你需要把库当地的翻译单位:

g++ main.cpp -lsodium 

在你的IDE,请确保您添加-lsodium连接说法。

+1

谢谢,9分钟后我会补上。 –