Ошибка компиляции c ++ после обновления с Ubuntu 10.10 до 11.10 - PullRequest
1 голос
/ 27 января 2012

У меня есть программа на c ++, которая работала и компилировалась на Ubuntu 10.10.Однако, когда я обновился до 11.10, я начал получать это сообщение об ошибке:

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

Все библиотеки есть ... поэтому я не уверен, почему есть все эти неопределенные ссылки.Кто-нибудь еще сталкивался с этой проблемой с библиотекой libjpeg после обновления до 11.10 или имеет какое-либо представление о том, почему обновление может вызвать эту проблему?

Ответы [ 2 ]

1 голос
/ 27 января 2012

Согласно информации, содержащейся в этом отчете об ошибке , переустановка библиотеки JPEG может решить проблему.Заголовок ошибки: ** libwebkit-1.0-2: неопределенный символ: jpeg_resync_to_restart *, и вот как репортер исправил проблему:

Моя система оказалась сломанной.После переустановки libjpeg62 libjpeg.so.62 становится символической ссылкой на libjpeg.so.62.0.0, как и ожидалось.Что-то должно быть не так в моем пути обновления, но это не проблема libwebkit или libjpeg.Итак, закрытие этой ошибки ложной тревоги сейчас.

0 голосов
/ 11 февраля 2012

Выяснилось, что во всех библиотеках .so при компиляции отсутствовал -l (libname) для всех включенных библиотек, поэтому все эти неопределенные ошибки были распечатаны.Все еще задаюсь вопросом, почему он работает без них 10.10, а не 11.10 ...

...