2012-01-27 4 views
1

우분투 10.10에서 작동하고 컴파일하는 C++ 프로그램이 있습니다. ..우분투 10.10에서 11.10으로 업그레이드 한 후 C++ 컴파일 오류가 발생했습니다.

g++ -rdynamic -o ../../../bin/camera Camera.o main.o moc_Camera.o -L/home/myusername/Desktop/project/lib -L/usr/lib/i386-linux-gnu -ljpeg -lcfitsio -lavcodec -lavformat -lswscale -lfftw3 -lfftw3f -lcv -lgdal1.7.0 -lmatrox_fake -lbacktrace -lexceptions -limage -limage_display -lio -ljpeg_image -llog -lmetadata -lpipe -lpipebrowser -lplumber -lplumbing -lqt -lserial -ltime -lwebcam -Wl,-R/home/myusername/Desktop/project/lib -lQtXml -lQtGui -lQtCore -lpthread 
/home/myusername/Desktop/project/lib/libjpeg_image.so: undefined reference to `jpeg_resync_to_restart' 
/home/myusername/Desktop/project/lib/libplumber.so: undefined reference to `company::pipe::PipeBrowser::PipeBrowser()' 
/home/myusername/Desktop/project/lib/libjpeg_image.so: undefined reference to `jpeg_std_error' 
/home/myusername/Desktop/project/lib/libjpeg_image.so: undefined reference to `jpeg_CreateDecompress' 
/home/myusername/Desktop/project/lib/libjpeg_image.so: undefined reference to `jpeg_start_compress' 
/home/myusername/Desktop/project/lib/libjpeg_image.so: undefined reference to `jpeg_read_header' 
/home/myusername/Desktop/project/lib/libqt.so: undefined reference to `ExceptionHandler::ExceptionHandler()' 
/home/myusername/Desktop/project/lib/liblog.so: undefined reference to `Backtrace::add(void*)' 
/home/myusername/Desktop/project/lib/libjpeg_image.so: undefined reference to `jpeg_destroy_decompress' 
/home/myusername/Desktop/project/lib/libwebcam.so: undefined reference to `Exception::Exception(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' 
/home/myusername/Desktop/project/lib/libimage.so: undefined reference to `Exception::Exception(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' 
/home/myusername/Desktop/project/lib/libimage.so: undefined reference to `Exception::~Exception()' 
/home/myusername/Desktop/project/lib/libjpeg_image.so: undefined reference to `jpeg_finish_compress' 
/home/myusername/Desktop/project/lib/liblog.so: undefined reference to `Backtrace::~Backtrace()' 
/home/myusername/Desktop/project/lib/libjpeg_image.so: undefined reference to `jpeg_destroy_compress' 
/home/myusername/Desktop/project/lib/libjpeg_image.so: undefined reference to `jpeg_finish_decompress' 
/home/myusername/Desktop/project/lib/libjpeg_image.so: undefined reference to `jpeg_set_defaults' 
/home/myusername/Desktop/project/lib/liblog.so: undefined reference to `Backtrace::print(std::basic_ostream<char, std::char_traits<char> >&) const' 
/home/myusername/Desktop/project/lib/libimage.so: undefined reference to `Exception::~Exception()' 
/home/myusername/Desktop/project/lib/libimage.so: undefined reference to `typeinfo for Exception' 
/home/myusername/Desktop/project/lib/libjpeg_image.so: undefined reference to `jpeg_start_decompress' 
/home/myusername/Desktop/project/lib/libplumber.so: undefined reference to `ExceptionHandler::handle(Exception&)' 
/home/myusername/Desktop/project/lib/liblog.so: undefined reference to `Backtrace::trace()' 
/home/myusername/Desktop/project/lib/libjpeg_image.so: undefined reference to `jpeg_write_scanlines' 
/home/myusername/Desktop/project/lib/liblog.so: undefined reference to `Backtrace::Backtrace()' 
/home/myusername/Desktop/project/lib/libimage.so: undefined reference to `Exception::report(std::basic_ostream<char, std::char_traits<char> >&) const' 
/home/myusername/Desktop/project/lib/libjpeg_image.so: undefined reference to `jpeg_CreateCompress' 
/home/myusername/Desktop/project/lib/libjpeg_image.so: undefined reference to `jpeg_read_scanlines' 
/home/myusername/Desktop/project/lib/libimage.so: undefined reference to `IOException::IOException(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' 
/home/myusername/Desktop/project/lib/liblog.so: undefined reference to `checkIO(std::basic_ios<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' 
collect2: ld returned 1 exit status 
make: *** [../../../bin/camera] Error 1 

모든 라이브러리가 그래서 모든 정의되지 않은 참조가 왜 확실하지 메신저 : i가 11.10로 업그레이드 할 때, 나는이 오류 메시지 시작했다. 11.10으로 업그레이드 한 후에 다른 사람이 libjpeg 라이브러리에이 문제가 발생 했습니까? 아니면 업그레이드로 인해이 문제가 발생하는 이유에 대해 알기 원하십니까?

+0

내 생각 엔 라이브러리가 새 버전으로 업그레이드 되었습니까? nm을 실행하면 새 라이브러리에 어떤 기호가 있는지 볼 수 있습니다. – Anycorn

답변

0

컴파일 할 때 모든 .so 라이브러리가 포함 된 모든 라이브러리에 대해 -l (libname)이 누락되었다는 사실을 알았습니다. 따라서 모든 정의되지 않은 오류가 출력됩니다. 10.10 및 11.10에서 작동하지 않는 이유는 아직도 궁금합니다 ...

1

bug report에있는 정보에 따르면 JPEG 라이브러리를 다시 설치하면이 문제가 해결 될 수 있습니다. 정의되지 않은 심볼 : jpeg_resync_to_restart * 여기에 기자가 문제를 해결하는 방법입니다 : 버그의 제목은 ** libwebkit-1.0-2입니다

내 시스템이 깨진 것으로 나타났다을. libjpeg62를 재설치 한 후 libjpeg.so.62는 예상대로 libjpeg.so.62.0.0에 대한 심볼릭 링크가됩니다. 업그레이드 경로에 문제가있어 야하지만 libwebkit 또는 libjpeg의 문제는 아닙니다. 이제이 허위 경보를 닫으십시오. 버그.

+0

제거한 후 다시 설치했습니다. 그것은 여전히 ​​나에게 같은 오류를주고있다. – MBU