Я следую учебнику по кулинарной книге C++ по связям статической и динамической библиотек с g ++. Я могу построить двоичный штраф, но когда я запускаю его я получаю ошибкуg ++ 4.4 "ошибка при загрузке разделяемых библиотек"
./hellobeatles: ошибка при загрузке разделяемых библиотек: libjohnpaul.so: не удается открыть общий объектный файл: Нет такого файла или каталога
I используется команда : г ++ -o hellobeatles hellobeatles.cpp -L ../johnpaul/ -L ../georgeringo/ -ljohnpaul -lgeorgeringo
программа строит и работает нормально, если я явно указать путь, как : г ++ -o hellobeatles hellobeatles.cpp ../johnpaul/libjohnpaul.so ../georgeringo/libgeorgeringo.so
Я неправильно ссылаюсь на библиотеки в первой команде? Или есть какая-то конфигурация, с которой мне нужно гасить?
Я использую Ubuntu 9.10 guest vm в VirtualBox, если это имеет значение, и вот -v Использование встроенных спецификаций. Цель: x86_64-linux-gnu Конфигурировано с помощью: ../src/configure -v --with-pkgversion = 'Ubuntu 4.4.1-4ubuntu9' --with-bugurl = file: /// usr/share/doc /gcc-4.4/README.Bugs --enable-languages = c, C++, fortran, objc, obj-C++ --prefix =/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir =/usr/lib --without-included-gettext --enable-threads = posix --with-gxx-include-dir =/usr/include/C++/4.4 --program -suffix = -4.4 --enable-nls --enable-clocale = gnu --enable-libstdcxx-debug --enable-objc-gc --disable-werror --with-arch-32 = i486 --with-tune = generic --enable-checking = release --build = x86_64-linux-gnu --host = x86_64-linux-gnu --target = x86_64-linux-gnu Модель темы: posix gcc версия 4.4.1 (Ubuntu 4.4 .1-4ubuntu9)