Экспортируемый класс и move методы
От: Sergey_BG Россия  
Дата: 27.08.19 10:33
Оценка:
Есть две DLL. В первой есть класс помеченный declspec(dllexport) целиком. И конструктор с параметрами не по умолчанию.
Вторая dll этот класс использует. Только класс помечен как dllimport. В VS2010 всё было хорошо.
В VS2015 проблема. Вторая dll не видит конструктора и оператора перемещения. Я добавлял описание этих методов = default, =delete,
пустую реализацию, в хедер и в cpp, но всё равно не видит. Т.е. пытается их импортировать всегда, даже если они deleted, и не находит.

Подскажите пожалуйста, есть какие-то особенности при экспорте этих методов, или я просто что-то не замечаю...

namespace altova {
class ALTOVA_DECLSPECIFIER CAltovaException
{
public:
…
    CAltovaException(int nCode, const tstring& sMessage, bool bUserExc = false);
…
};
}


error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl altova::CAltovaException::CAltovaException(class altova::CAltovaException &&)" (__imp_??0CAltovaException@altova@@QEAA@$$QEAV01@@Z)

unresolved external symbol "__declspec(dllimport) public: class altova::CAltovaException & __cdecl altova::CAltovaException::operator=(class altova::CAltovaException &&)" (__imp_??4CAltovaException@altova@@QEAAAEAV01@$$QEAV01@@Z) referenced in function "public: class altova::CXmlException & __cdecl altova::CXmlException::operator=(class altova::CXmlException &&)" (??4CXmlException@altova@@QEAAAEAV01@$$QEAV01@@Z)
Сергей
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.