1

ubuntu 10.10で動作およびコンパイルしているc ++のプログラムがあります。ただし、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

すべてのライブラリがそこにあります..だから、未定義の参照がすべてある理由がわかりません。11.10 にアップグレードした後、libjpeg ライブラリでこの問題に遭遇した人はいますか、またはアップグレードによってこの問題が発生する理由について何か考えがありますか?

4

2 に答える 2

1

このバグ レポートに記載されている情報によると、JPEG ライブラリを再インストールすると問題が解決する場合があります。バグのタイトルは **libwebkit-1.0-2: Undefined symbol: jpeg_resync_to_restart* で、レポーターが問題を修正した方法は次のとおりです。

システムが壊れているように見えました。libjpeg62 を再インストールすると、libjpeg.so.62 は期待どおり libjpeg.so.62.0.0 へのシンボリック リンクになります。アップグレード パスに何か問題があるに違いありませんが、libwebkit や libjpeg の問題ではありません。したがって、この誤報バグを今すぐ閉じます。

于 2012-01-27T02:24:21.900 に答える
0

コンパイル時にすべての.soライブラリに、含まれているすべてのライブラリの-l(libname)がないことがわかりました。これが、印刷時に未定義のエラーがすべて発生する理由です。11.10ではなく10.10でそれらなしで動作する理由をまだ疑問に思っています...

于 2012-02-10T23:12:05.550 に答える