OpenSceneGraph LNK2019

时间:2015-08-02 15:01:04

标签: c++ visual-studio-2013 openscenegraph

我试图使用OpenSceneGraph。我使用CMake和Visual Studio 2013 X64来编译源代码。现在我想建立一个项目,但是我收到了以下错误:

Error   1   error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl osgViewer::Viewer::Viewer(void)" (__imp_??0Viewer@osgViewer@@QEAA@XZ) referenced in function main  C:\Users\epsilon-pc\documents\visual studio 2013\Projects\osgtest2\osgtest2\mainApp.obj osgtest2

Error   2   error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual void __cdecl osgViewer::Viewer::setSceneData(class osg::Node *)" (__imp_?setSceneData@Viewer@osgViewer@@UEAAXPEAVNode@osg@@@Z) referenced in function main C:\Users\epsilon-pc\documents\visual studio 2013\Projects\osgtest2\osgtest2\mainApp.obj osgtest2

Error   3   error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual int __cdecl osgViewer::Viewer::run(void)" (__imp_?run@Viewer@osgViewer@@UEAAHXZ) referenced in function main   C:\Users\epsilon-pc\documents\visual studio 2013\Projects\osgtest2\osgtest2\mainApp.obj osgtest2

Error   4   error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __cdecl osgViewer::Viewer::`vbase destructor'(void)" (__imp_??_DViewer@osgViewer@@QEAAXXZ) referenced in function main    C:\Users\epsilon-pc\documents\visual studio 2013\Projects\osgtest2\osgtest2\mainApp.obj osgtest2

Error   5   error LNK1120: 4 unresolved externals   C:\Users\epsilon-pc\documents\visual studio 2013\Projects\osgtest2\x64\Debug\osgtest2.exe   osgtest2

我已经为

添加了VC / C ++附加包含和链接器附加库目录和输入
osgGAd.lib;
osgFXd.lib;
osgUtild.lib;
osgd.lib;
osgDBd.lib;

这是我的代码(尽可能简单):

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

int main(int argc, char** argv)
{
    osgViewer::Viewer viewer;
    viewer.setSceneData(osgDB::readNodeFile("cessna.osg"));
    return viewer.run();
}

1 个答案:

答案 0 :(得分:1)

在链接阶段编译器没有找到osgViewer库;将osgViewerd.lib添加到链接库应解决您的问题。让我知道它是否解决了这个问题。