最近我为我的项目找到了一个动态链接库。它可以找到here。但是,我真的很难让它发挥作用。 我下载的是.dll文件和一些.h标题。我的IDE是Qt SDk 1.2(Qt 4.8.1)。
在编译演示代码之后,我的编译器抱怨'由于'dllexport'属性''/ p>而需要'符号'Ped :: LIBPEDSIM_VERSION'的外部链接
在ped_includes.h中。所以经过一些搜索后,我在文件中添加了extern“C ++”。现在它看起来像这样:
#ifndef _ped_includes_h_
#define _ped_includes_h_ 1
#include "ped_agent.h"
#include "ped_obstacle.h"
#include "ped_waypoint.h"
#include "ped_scene.h"
extern "C++" //what I added.
namespace Ped {
const double LIBEXPORT LIBPEDSIM_VERSION = 2.2;
}
#endif
这次错误消失了,我得到了许多'未定义的对XX :: XX :: XX()'错误的引用。我试图将dll的路径添加到.pro文件中:
LIBS += -LE:\\klive\\code\\QtProgram\\libpedsim-example\\libpedsim.dll
但它不起作用。
现在我想知道的是我是否正确地修改了'ped_includes.h'以及它是什么 有没有外部声明的差异?另外,如何解决链接错误?