2017-02-14 12 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 할 것이다. –