C++ 在另一个项目中找不到虚拟函数的定义

C++ 在另一个项目中找不到虚拟函数的定义,c++,visual-studio,inheritance,dll,virtual,C++,Visual Studio,Inheritance,Dll,Virtual,项目由以下类别组成(省略其他功能): 在另一个项目中,类是从MyClass派生的。打印功能不会被覆盖。在编译后的链接步骤中,找不到函数print的定义(“未解析的外部符号”错误)。如何解决此问题?项目中引用了带有MyClass.h和MyClass.cpp的项目 编辑:开发环境是Win10 x64上的VS 2015。如果我删除关键字virtual或将MyClass.h和MyClass.cpp移动到另一个项目,则不再发生错误 编辑2:两个项目都是动态库(DLL)。包含MyClass.cpp的项目在构

项目由以下类别组成(省略其他功能):

在另一个项目中,类是从
MyClass
派生的。
打印
功能不会被覆盖。在编译后的链接步骤中,找不到函数
print
的定义(“未解析的外部符号”错误)。如何解决此问题?项目中引用了带有
MyClass.h
MyClass.cpp
的项目

编辑:开发环境是Win10 x64上的VS 2015。如果我删除关键字
virtual
或将MyClass.h和MyClass.cpp移动到另一个项目,则不再发生错误


编辑2:两个项目都是动态库(DLL)。

包含
MyClass.cpp
的项目在构建时将生成一个
.lib
文件。必须将该库文件添加到另一个项目中,以便链接到该项目中,告诉该项目它可以在另一个DLL中找到代码。

猜您没有正确链接cpp文件。您的环境是什么?UNIX/Linux/Mac/VS/其他什么?您的开发环境是什么?你的设置如何?我的子类看起来怎么样?不幸的是,你的例子既不是最小的,也不是有效的。。。这样做并不容易。@UKMonkey这是一个更完整的副本:带有库的目录被添加到“附加库目录”中,库本身被添加到项目属性的“附加依赖项”中。@user1056903我不确定仅仅将其添加到项目属性依赖项中就足够了。不幸的是,这不是我最近必须自己做的事情,所以我没有具体的步骤要遵循。
// MyClass.h
class MyClass {
    public:
        virtual void print();
};

// MyClass.cpp 
#include "stdafx.h"
#include "MyClass.h"
void MyClass::print() {
    // empty
}