2017-02-14 18 views
0

私はしかし、私はエラーを取得しています、libsodiumを使用してテストアプリケーションを作成しようとしています:C++ - 「sodium_init」への未定義参照

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

私はルートユーザとしてインストールするには、以下のコマンドを実行しました。

$ ./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; 
} 

私は私のIDEとしてCodeLiteを使用していますし、私のC++コンパイラオプションは、次のとおりです。

-g;-O0;-Wall;-lsodium 

オプションがデフォルトだったと私はリストに-lsodiumを追加しました。

main.cppを次のコマンドで端末から直接コンパイルしようとすると、g++ -lsodium main.cppは同じエラーをスローします。

誰かが私の問題を助けてくれますか?リンクするための

答えて

1

ライブラリは、あなたがローカルの翻訳単位の後にライブラリを配置する必要があるので、順番に検索されます。あなたのIDEで

g++ main.cpp -lsodium 

、あなたがリンカ引数として-lsodiumを追加してください。

+1

ありがとうございます、私は9分後にこれをupvoteします。 –

関連する問題