2017-02-14 164 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分鐘後我會補上。 –