при подключении библиотеки к QT после сборки проекта я получаю следующую ошибку:
util.obj:-1: error: LNK2019: unresolved external symbol umfpack_di_symbolic referenced in function "public: void __cdecl util::Get_Initial_Solution(double *,class Mesh &)" (?Get_Initial_Solution@util@@QEAAXPEANAEAVMesh@@@Z)
Я попытался пересобрать проект и убедился, что версии библиотеки и используемого компилятора совместимы с 64-разрядной версией MSVC 2015. Я ссылаюсь на библиотеку из VCPKG «UMFPACK», используя встроенный менеджер в QT creator следующим образом:
QMAKE_LIBDIR += "C:/vcpkg-master/installed/x64-windows/lib"win32:CONFIG(release, debug|release): LIBS += -L"C:/vcpkg-master/installed/x64-windows/lib/" -llibumfpackINCLUDEPATH += "C:/vcpkg-master/installed/x64-windows/include/suitesparse"DEPENDPATH += "C:/vcpkg-master/installed/x64-windows/include/suitesparse"
Это функция get_initial_solution, которая выдает ошибку (некоторые части удалены из кода и заменены тремя точками. Просто для простоты.
void util::Get_Initial_Solution(double *Sol, Mesh &EHL)
{
.
.
.
umfpack_di_symbolic(2*EHL.N_Nodes_2D,2*EHL.N_Nodes_2D,
Kee_colptr,Kee_rowind,Kee_nzval,&Symbolic, null,null);
umfpack_di_numeric(Kee_colptr,Kee_rowind,Kee_nzval,Symbolic,&Numeric,null,null);
umfpack_di_free_symbolic(&Symbolic);
umfpack_di_solve(UMFPACK_A, Kee_colptr,Kee_rowind, Kee_nzval, x, rhs_hertz, Numeric, null, null);
umfpack_di_free_numeric(&Numeric);
.
.
.
}
Есть идеи, что вызывает эту ошибку? заранее спасибо
Задача ещё не решена.
Других решений пока нет …