많은 문제를 겪은 후 VXL-1.14.0을 설치하고 컴파일 된 오픈gazer http://www.inference.phy.cam.ac.uk/opengazer/을 설치할 수있었습니다. 나는 그 README와 mirrlules http://www.mirkules.com/opengazer/vxl_install_notes.txt에 의해 Opengazer의 Makefile과 관련 파일 ("PointTracker.h"와 같은)을 수정하는 매우 유용한 노트를 따라 갔다. 예를 들어, Makefile에서 처음 몇 줄을 다음과 같이 변경했습니다 (vxl 헤더는 "/ usr/local/include/vxl"에 있고 공유 라이브러리는 "/ usr/local/lib" libvnl_algo.so "와"libvnl.so ") : 내가 컴파일 할 때Opengazer-0.1.2 컴파일 및 vnl_cholesky.h 오류 받기
VXLDIR = /usr/local
VERSION = opengazer-0.1.2
CPPFLAGS = -Wall -g -O3
LINKER = -L$(VXLDIR)/lib -L/usr/local/lib -lm -ldl -lvnl -lmvl -lvnl_algo -lvgl -lgthread-2.0
# change the following line if your vxl library is installed elsewhere
INCLUDES = $(foreach prefix,/usr/local/include $(VXLDIR)/include $(VXLDIR)/include/vxl, \
$(foreach suffix,/core /vcl /contrib/oxl /core/vnl/algo,-I$(prefix)$(suffix)))
=== 아직
, 나는 다음과 같은 오류가 발생합니다 :
LeastSquares.o: In function `LeastSquares::solve()':
/home/mycomp/Downloads/opengazer-0.1.2/LeastSquares.cpp:27: undefined reference to `vnl_cholesky::vnl_cholesky(vnl_matrix<double> const&, vnl_cholesky::Operation)'
/home/mycomp/Downloads/opengazer-0.1.2/LeastSquares.cpp:27: undefined reference to `vnl_cholesky::solve(vnl_vector<double> const&) const'
LeastSquares.o: In function `~vnl_cholesky':
/usr/local/include/vxl/core/vnl/algo/vnl_cholesky.h:45: undefined reference to `vnl_vector<double>::~vnl_vector()'
/usr/local/include/vxl/core/vnl/algo/vnl_cholesky.h:45: undefined reference to `vnl_matrix<double>::~vnl_matrix()'
LeastSquares.o: In function `LeastSquares::solve(double&, double&, double&)':
/home/mycomp/Downloads/opengazer-0.1.2/LeastSquares.cpp:39: undefined reference to `vnl_vector<double>::~vnl_vector()'
LeastSquares.o: In function `~vnl_cholesky':
/usr/local/include/vxl/core/vnl/algo/vnl_cholesky.h:45: undefined reference to `vnl_matrix<double>::~vnl_matrix()'
/usr/local/include/vxl/core/vnl/algo/vnl_cholesky.h:45: undefined reference to `vnl_vector<double>::~vnl_vector()'
/usr/local/include/vxl/core/vnl/algo/vnl_cholesky.h:45: undefined reference to `vnl_matrix<double>::~vnl_matrix()'
/usr/local/include/vxl/core/vnl/algo/vnl_cholesky.h:45: undefined reference to `vnl_matrix<double>::~vnl_matrix()'
collect2: ld returned 1 exit status
make: *** [opengazer] Error 1
수있는 익숙한 사람 VXL, Opengazer 또는 C 라이브러리를 컴파일 할 때 일반적으로 여기에 어떤 일이 벌어지고 있는지 말해 주시겠습니까? 고맙습니다.
sudo apt-get install g++-4.4
그런 다음 g++-4.4
-g++
을 포함 메이크의 라인을 변경 : gcc
의 이전 버전을 사용