криптография — неопределенная ссылка на «odium_init »;

Я пытаюсь создать тестовое приложение, используя libsodium, однако я получаю ошибку:

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.cpp непосредственно из терминала с помощью следующей команды g++ -lsodium main.cpp выдает ту же ошибку.

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

0

Решение

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

g++ main.cpp -lsodium

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

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]