프로젝트를 ATLAS 라이브러리 -llapack -lf77blas -lcblas -latlas -lgfortran
에 연결 했으므로 성공적으로 컴파일 할 수 있습니다.ldd가 실행 파일을 생성 할 때 내가 링크 한 라이브러리를 출력하지 않는 이유는 무엇입니까?
[email protected]:~/Desktop/qt_output$ldd test_atlas
linux-vdso.so.1 => (0x00007fffa99ff000)
libopencv_core.so.2.4 => /home/ubuntu/Documents/3rdparty/lib/libopencv_core.so.2.4 (0x00007fe0577d7000)
libgfortran.so.3 => /usr/lib/x86_64-linux-gnu/libgfortran.so.3 (0x00007fe057477000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fe057173000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe056e76000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fe056c60000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe0568a1000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fe056689000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe05646c000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe056264000)
libcudart.so.5.0 => /usr/local/cuda-5.0/lib64/libcudart.so.5.0 (0x00007fe056009000)
libnpp.so.5.0 => /usr/local/cuda-5.0/lib64/libnpp.so.5.0 (0x00007fe05051c000)
libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007fe0502e0000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe057e31000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe0500db000)
[email protected]:~/Desktop/qt_output$
이유는 libatlas.so 또는 libatlas.a가 없습니다 : 나는 종속 라이브러리를 볼 수 ldd
명령을 사용할 때 다음과 같이 그러나, 출력은? 감사.
업데이트 :
CFLAGS = -pipe -O2 -Wall -W $(DEFINES)
CXXFLAGS = -pipe -std=c++0x -O2 -Wall -W $(DEFINES)
INCPATH = -I../../QtSDK/Desktop/Qt/4.8.1/gcc/mkspecs/linux-g++ -I../../Documents/3rdparty/include -I../../Documents/3rdparty/include/opencv2 -I../../Documents/3rdparty/include/opencv -I/usr/local/MATLAB/R2013a/extern/include -I.
LINK = g++
LFLAGS = -Wl,-O1 -Wl,-rpath,/home/ubuntu/QtSDK/Desktop/Qt/4.8.1/gcc/lib
LIBS = $(SUBLIBS) -L/home/ubuntu/Documents/3rdparty/lib/ -lopencv_core -lopencv_imgproc -lopencv_highgui -llapack -lf77blas -lcblas -latlas -lgfortran
두 가지 가능성이 있습니다. 이 라이브러리들은 정적으로 링크되거나 메인 프로그램에서 아틀라스 함수가 호출되지 않습니다. 완전 연결 명령을 내줄 수 있니? – ztik
고마워요, ctheo. 저는 아틀라스를 libatlas.a와 연결 시켰습니다. 그래서 이것이 첫 번째 가능성이라고 생각합니다. 전체'CPPFLAGS' 및'LDFAGS' 매개 변수에 대한 질문을 업데이트했습니다. 확인하십시오. – mining
감사합니다. 내 대답은 아래를 참조하십시오. – ztik