2017-02-14 5 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; 
} 

Я использую CodeLite как мой IDE, и мои C++ опции компилятора следующие:

-g;-O0;-Wall;-lsodium 

Варианты были по умолчанию, и я добавил -lsodium в список.

Попытка скомпилировать main.cpp непосредственно с терминала с помощью следующей команды: g++ -lsodium main.cpp вызывает такую ​​же ошибку.

Может кто-нибудь, пожалуйста, помогите мне с моей проблемой.

ответ

1

библиотеки для связи ищутся в порядке, так что вам нужно разместить библиотеки после ваших местных единиц перевода:

g++ main.cpp -lsodium 

В вашей IDE, убедитесь, что вы добавляете -lsodium как линкера аргумента.

+1

Спасибо, я закрою это через 9 минут. –

Смежные вопросы