Я пытаюсь создать тестовое приложение, используя 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
выдает ту же ошибку.
Может кто-нибудь, пожалуйста, помогите мне с моей проблемой.
Библиотеки для ссылок ищутся по порядку, поэтому вам нужно разместить библиотеки после ваши местные переводческие единицы:
g++ main.cpp -lsodium
В вашей IDE обязательно добавьте -lsodium
как линкер аргумент.
Других решений пока нет …