我试图在visual studio上设置OpenSceneGraph,这样我就可以运行一些教程,我相信我的问题是我不知道如何正确地在visual studio上设置环境,并让程序正确地查看库文件。
这里讨论的代码只是一个osg智能指针演示
#include <osg/ref_ptr>
#include <osg/Referenced>
#include <iostream>
using namespace std;
class AClass : public osg::Referenced
{
public:
AClass(int id) : _id(id)
{
cout << "Constructing object " << _id << endl;
}
protected:
int _id;
virtual ~AClass()
{
cout << "Destroy " << _id << endl;
}
};
int main()
{
osg::ref_ptr<AClass> obj = new AClass(0);
cout << "Reference count before referring: "
<< obj->referenceCount() << endl;
osg::ref_ptr<AClass> anotherObject = object;
cout << "Referenced count after referring: "
<< object->referenceCount() << endl;
}
如果我在Properties-〉Linker-〉Additional dependencies中指向osgd.lib,则会生成此文件,但当我尝试运行它时,会出现系统错误,指出程序无法启动,因为“osgd.ll在您的计算机中丢失”,但是如果我指向osgd.dll,则无法生成并抛出以下错误:“LNK 1107无效或损坏的文件:无法读取0x 378 OSG 1 C:\用户\蒙克内\源\开放场景图-3.6.3 -VC2017 -64-调试\bin\osgd.dll”
我到底做错了什么?
1条答案
按热度按时间8cdiaqws1#
您需要链接到.lib,而不是. dll。dll路径必须在PATH中才能工作,或者与可执行文件在同一文件夹中。