Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 错误:LNK1104:无法打开文件';libumfpack.dlld.lib';在QT中创建_C++_Qt_Cygwin_Umfpack - Fatal编程技术网

C++ 错误:LNK1104:无法打开文件';libumfpack.dlld.lib';在QT中创建

C++ 错误:LNK1104:无法打开文件';libumfpack.dlld.lib';在QT中创建,c++,qt,cygwin,umfpack,C++,Qt,Cygwin,Umfpack,我已经为一个错误挣扎了好几天,但是没有找到正确的解决方案。我正在尝试在Windows上安装CygWin的UMFPACK库,我正在开发QC++创建者。 我通过进入我的项目->右键单击->添加库来添加库 在我指向的库文件中:/cygwin/lib/libumfpack.dll.a 在我指向的Include路径中:/cygwin/usr/Include/suitesparse 悬挂机构类型:动态 QTCreator自动添加链接,如下所示: win32:CONFIG(release, debug|rel

我已经为一个错误挣扎了好几天,但是没有找到正确的解决方案。我正在尝试在Windows上安装CygWin的UMFPACK库,我正在开发QC++创建者。 我通过进入我的项目->右键单击->添加库来添加库

在我指向的库文件中:/cygwin/lib/libumfpack.dll.a

在我指向的Include路径中:/cygwin/usr/Include/suitesparse

悬挂机构类型:动态

QTCreator自动添加链接,如下所示:

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../cygwin64/lib/ -llibumfpack.dll
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../cygwin64/lib/ -llibumfpack.dlld
else:unix: LIBS += -L$$PWD/../../../../cygwin64/lib/ -llibumfpack.dll

INCLUDEPATH += $$PWD/../../../../cygwin64/usr/include/suitesparse
DEPENDPATH += $$PWD/../../../../cygwin64/usr/include/suitesparse
但是,在生成项目时,会显示以下错误:

**:-1: error: LNK1104: cannot open file 'libumfpack.dlld.lib'**

有人能给我指一下正确的方向吗

您正在混合MSVC和gcc

您正在使用MSVC,它希望导入库以“.lib”结尾。而该库是由gcc(MinGW或Cygwin)生成的,它希望导入库以“.a”结尾

但是仅仅重命名并不能解决您的问题,因为格式不同。至少您需要从“.dll”中生成一个“.lib”。但是,如果库API是纯C,这将仅适用,因为C++名称的限制将阻止您在不同编译器的2个二进制文件中使用C++符号。

如果API是C++,你需要找到一个用MSVC构建的库,或者改变你的编译器使用同一个库构建的.< /P>谢谢你的回复,所以把编译器从MSVC变成GCC会解决这个问题吗?正如我所说,您必须使用与构建库相同的编译器,因为您使用的是cygwin,cygwin提供的gcc版本应该很好。