我已成功将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应用程序?
答案 0 :(得分:0)
评论是正确的,你想要:
LIBS + = - LC:\ OPENSCENEGRAPH \ LIB \ -lOpenThreadsd -losgd ...
-L告诉qmake以下参数是一个搜索库的文件夹,而不是库本身。