我试图使用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();
}
答案 0 :(得分:1)
在链接阶段编译器没有找到osgViewer库;将osgViewerd.lib添加到链接库应解决您的问题。让我知道它是否解决了这个问题。