I'm trying to use OpenSceneGraph. I have used CMake and Visual Studio 2013 X64 to compile the source code. Now I'm tying to build a project but I get the following errors:
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
I have already added VC/C++ Additional Include and Linker Additional Library Directory and Input for
osgGAd.lib;
osgFXd.lib;
osgUtild.lib;
osgd.lib;
osgDBd.lib;
This is my code (as simple as it gets):
#include <osgDB/ReadFile>
#include <osgViewer/Viewer>
int main(int argc, char** argv)
{
osgViewer::Viewer viewer;
viewer.setSceneData(osgDB::readNodeFile("cessna.osg"));
return viewer.run();
}
In linking phase compiler is not finding osgViewer library; adding osgViewerd.lib to linking libraries should resolve your problem. Let me know if it solves the problem.