无法将Qt控制台应用程序与Openscengrapgh链接

时间:2012-08-19 07:31:13

标签: qt opengl openscenegraph

我已成功将Openscenegraph与Visual Studio 2008集成。作为示例给出的示例“cessna.osg”在VS2008中作为控制台程序运行良好。但是当我尝试在Qt中运行与控制台相同的代码时,它会出错。我在Windows7 64位上使用带有Qt选项的VS2008编译器使用CMAKE构建了Openscenegraph 3.0。在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 ...(与VS2008 IDE中的相同)

#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'

引导我,以便我可以将应用程序作为控制台运行。或者有没有其他方法可以在Qt控制台上运行Openscenegraph应用程序?

1 个答案:

答案 0 :(得分:0)

评论是正确的,你想要:

  

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

-L告诉qmake以下参数是一个搜索库的文件夹,而不是库本身。