C++ 파일에서 C에서 VLFeat Libaries를 사용하고 싶습니다. g ++ 용 자습서는 다음과 같이 컴파일 된 기본 "Hello World"예제를 제공합니다.C++에서 사용하려는 C 라이브러리의 라이브러리 경로를 환경에 추가하는 방법
g++ main.cpp -o vlfeat-test -I /disk/no_backup/lesi/vlfeat-0.9.20/ -L /disk/no_backup/lesi/vlfeat-0.9.20/bin/glnxa64/ -lvl
이 작동합니다. 내가 지금 원하는 것은 내의 .bashrc에 라이브러리를 추가하는 것입니다, 그래서 여분의 플래그 필요가 없습니다
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/disk/no_backup/lesi/vlfeat-0.9.20
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/disk/no_backup/lesi/vlfeat-0.9.20/bin/glnxa64
과 같이 사용 :
g++ main.cpp -o vlfeat-test
불행하게도 나는 다음과 같은 얻을 오류 :
/tmp/cc6tzB55.o: In function `main':
main.cpp:(.text+0x10): undefined reference to `vl_get_printf_func'
collect2: error: ld returned 1 exit status
내가 뭘 잘못하고 있니?
extern "C" {
#include <vl/generic.h>
}
int main (int argc, const char * argv[]) {
VL_PRINT ("Hello world!\n") ;
return 0;
}
VLFeat 도서관 링크 : 여기
튜토리얼에서 "안녕하세요"코드의 http://www.vlfeat.org/index.html
그래, 그 트릭을했다. 감사! – user4457190