0

我已经成功地将 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 应用程序?

4

1 回答 1

0

评论是正确的,你想要:

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

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

于 2012-08-19T22:37:10.737 回答