ошибка компиляции из-за виртуальной функции в динамической библиотеке ссылок - PullRequest
0 голосов
/ 29 июня 2018

в проекте MSVC dll, я попытался создать dll, содержащий базовый класс

//header file
class MATHLIBRARY_API Shape {
protected:
    int width, height;
public:
    Shape(int, int);
    int area(void) { return -1; };
};

успешно скомпилировано, но при добавлении виртуального спецификатора в функцию

class MATHLIBRARY_API Shape {
protected:
     int width, height;
public:
     Shape(int, int);
     virtual int area(void) { return -1; };
};

Компилятор показал ошибку MSG

Error   LNK2019 unresolved external symbol `__declspec(dllimport) const Shape::`vftable'" (__imp_??_7Shape@@6B@) referenced in function "public: __thiscall Shape::Shape(int,int)" (??0Shape@@QAE@HH@Z) Dll3    c:\Users\langj\source\repos\Dll3\Dll3\Dll3.obj  1   

где может быть проблема?

...