правильное связывание osg/openthreads

У меня возникли проблемы с запуском OSG/OpenThreads в простом примере приложения. Вот как выглядит моя команда:

g++ bAuto.o -o bAuto -lGL -lGLU -lstdc++ -losgSim -losgText -losgGA -losgParticle -losgDB -losgViewer -losgUtil -losg -lGLU -lGL  -lOpenThreads -L/opt/xfree86/default/lib -L/media/Programme/dev/cpp_libs/OpenSceneGraph/OpenSceneGraph-3.0.1-Ubuntu-x64-release-12741/lib64
bAuto.o: In function `osg::Referenced::unref() const':
bAuto.cpp:(.text._ZNK3osg10Referenced5unrefEv[osg::Referenced::unref() const]+0xd): undefined reference to `OpenThreads::Atomic::operator--()'

Поэтому я связался с OpenThreads, и он определенно находится в папке lib64. Если я уберу зависимость от ссылки, это вызовет больше ошибок компоновщика для функций в OpenThreads. Что мне не хватает? Я также попробовал версию x86, но затем мне сказали, что все остальные библиотеки несовместимы и поэтому не могут быть найдены. Моя система x64, но разве она не должна быть обратно совместима?


person user1709708    schedule 12.12.2012    source источник


Ответы (1)


Это может быть та же ошибка (прочитайте всю ветку): http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/2008-October/017447.html

person XenonofArcticus    schedule 12.12.2012
comment
Хм... Я не совсем все понимаю, но в данном случае похоже, что многое вызвано конфигурацией CMake. Я просто использую обычный файл make. Могу ли я как-то просмотреть содержимое OpenThreads.so, чтобы проверить, определен ли вообще этот оператор? - person user1709708; 14.12.2012