의 두 가지 버전을 찾고, 나는 그것의 두 가지 버전을 원하는 실행 파일을 얻을 올바른 방향? 이것은 나에게 어떤 의미가되지 않습니다!, 내 실행이
배경 : sudo apt-get install libarmadillo-dev
를 통해, 나는 내가 특정 매개 변수 (64 비트 워드 사용)와 함께 구축하는 데 필요한 실현 libarmadillo 나는 처음에 설치, 그래서 나는 다음, 최신 버전을 다운로드 구성/설치 만든다 만든다 sudo apt-get remove libarmadillo-dev
를 통해 그것을 제거 그것. 아마도 필자는 내 시스템에 libarmadillo 버전을 하나만 가지고있을 것입니다 - 나는 보통 장소에 오래된 라이브러리가 보이지 않습니다.
감사
편집 :
내 메이크 파일은 다음과 같습니다
는CC= g++
CFLAGS= -Lcontrib/armadillo-7.400.1 -L/usr/include -Lcontrib/mlpack-2.0.1/build/lib -fpermissive -std=c++11 -O0 -g -Wall
LDFLAGS= -lmlpack -larmadillo
LDD의 상세 출력이 재미있다, 내가 생각? (libarmadillo.so.7 대한 의존성을 나열)
$ ldd -v ./a.out | grep armadillo
$ libarmadillo.so.7 => /usr/lib/x86_64-linux-gnu/libarmadillo.so.7 (0x00007fd5e29a0000)
$ libarmadillo.so.4 => not found
$ /usr/lib/x86_64-linux-gnu/libarmadillo.so.7:
후자 섹션은 :
/usr/lib/x86_64-linux-gnu/libarmadillo.so.7:
ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
용장 출력에서 "누락"libarmadillo.so.4의 언급이없는 한 나는 아주 이상한 것을 안다.
'a.out' 빌드는 어떻게 작성 되었습니까? 당신의 메이크 파일 및/또는 구성 파일에 무엇이 있습니까? – wasthishelpful
g ++를 사용하여'CFLAGS = -Lcontrib/armadillo-7.400.1 -L/usr/include -fpermissive -std = C++ 11 -O0 -g -Wall' 및'LFLAGS = -larmadillo'로 컴파일됩니다. 질문에 ldd의 상세한 출력을 첨부했습니다 ... – ricky116