Не удается связать консольное приложение Qt с Openscengrapgh

я успешно интегрировал Openscenegraph с Visual Studio 2008. Образец «cessna.osg», приведенный в качестве примера, отлично работает в VS2008 как консольная программа. Но когда я пытаюсь запустить тот же код, что и консоль в Qt, выдает ошибку. Я построил Openscenegraph 3.0 с CMAKE, используя компилятор VS2008 с опцией Qt на 64-разрядной версии Windows7. В Qt я использую версию QT 4.7.4 Desktop-MSVC2008 (QtSDK). Мой файл Qt .pro выглядит так...

QT       += core
QT       -= gui

TARGET = OSGTEST (name of the console project)
CONFIG   += console
CONFIG   -= app_bundle
TEMPLATE = app
SOURCES += main.cpp

INCLUDEPATH +=C:\OPENSCENEGRAPH\INCLUDE\

LIBS +=C:\OPENSCENEGRAPH\LIB\
-lOpenThreadsd\
-losgd\
-losgDBd\
-losgUtild\
-losgViewerd\

я использую ту же библиотеку и включаю пути к файлам в VS2008 IDE, как указано выше.

файл main.cpp выглядит как dis... (такой же, как в IDE VS2008)

#include <osgDB/ReadFile>
#include <osgViewer/Viewer>


int main()
{
    osg::ref_ptr<osg::Node> root = osgDB::readNodeFile("cessna.osg");
    osgViewer::Viewer viewer;
    viewer.setSceneData( root.get() );
    return viewer.run();
}

ошибка, которую я получаю, это...

error: LNK1104: cannot open file 'C:\OPENSCENEGRAPH\LIB.obj'

Направляйте меня, чтобы я мог запустить приложение как консоль. Или есть другой способ запуска приложений Openscenegraph на консоли Qt?


person rotating_image    schedule 19.08.2012    source источник
comment
Существует ли «C:\OPENSCENEGRAPH\LIB.obj»?   -  person cmannett85    schedule 19.08.2012
comment
нет... C:\OPENSCENEGRAPH\LIB - это просто путь к библиотекам отладки, которые я создал с помощью CMAKE..   -  person rotating_image    schedule 19.08.2012
comment
Измените LIBS +=C:\OPENSCENEGRAPH\LIB\ на LIBS +=-LC:\OPENSCENEGRAPH\LIB\ .   -  person cmannett85    schedule 19.08.2012
comment
Я настоятельно рекомендую CMake вместо файлов проекта Qt. Это значительно упрощает интеграцию с различными библиотеками.   -  person pmr    schedule 20.08.2012
comment
@pmr: Интересно. Я использую qmake для сборки Qt, но не могу сказать, что я его фанат. Включает ли CMake встроенную поддержку особенностей Qt, таких как проход MOC, или вам нужно настроить это самостоятельно?   -  person timday    schedule 21.08.2012
comment
@timday Встроенный. qt-project.org/quarterly/view/using_cmake_to_build_qt_projects   -  person pmr    schedule 21.08.2012
comment
@pmr....спасибо за ссылку...развеивает многие мои сомнения по поводу Qt..   -  person rotating_image    schedule 22.08.2012


Ответы (1)


Комментарий правильный, вы хотите:

LIBS +=-LC:\OPENSCENEGRAPH\LIB\ -lOpenThreadsd -losgd ...

-L сообщает qmake, что следующий аргумент — это папка для поиска библиотек, а не сама библиотека.

person timday    schedule 19.08.2012