2012-01-27 4 views
1

У меня есть программа на C++, которая работала и компилировалась на ubuntu 10.10. Однако, когда я повышен до 11.10 я начал получать это сообщение об ошибке: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 или имел какое-либо представление о том, почему обновление может вызвать эту проблему?

+0

Мое предположение, что библиотека обновлена ​​до новой версии? какие символы присутствуют в новой библиотеке. – Anycorn

ответ

0

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

1

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

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

+0

Я удалил его и переустановил. Его по-прежнему дает мне ту же ошибку. – MBU

Смежные вопросы