我目前正在使用Visual Studio 2013 SP1。
我有一个解决方案(Game),有两个项目,Engine和MyGame。引擎是一个DLL(它不能是一个lib,因为它是用SFML构建的)。 MyGame是一个EXE,应该用Engine构建。我已经达到了Engine构建良好的程度,但每当我编译MyGame时,我都会收到此错误:
error LNK2019: unresolved external symbol "private: void __thiscall AABB::init(struct Vec2D,struct Vec2D)" (?init@AABB@@AAEXUVec2D@@0@Z) referenced in function "public: __thiscall AABB::AABB(double,double,double,double)" (??0AABB@@QAE@NNNN@Z)
AABB :: init是.cpp文件中定义的函数之一,而不是头文件 我尝试在MyGame中添加Engine作为参考,但同样的错误发生了。
答案 0 :(得分:1)
链接器告诉您已声明该函数,但未对其进行定义。通常这意味着您没有将DLL的导入库(.lib)提供给链接器。编译DLL时会创建该导入库。您需要将该导入库添加到其他依赖项链接器配置选项。