首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误: LNK1104:无法在QT创建器中打开文件'libumfpack.dlld.lib‘

错误: LNK1104:无法在QT创建器中打开文件'libumfpack.dlld.lib‘
EN

Stack Overflow用户
提问于 2017-10-29 23:50:04
回答 1查看 1.1K关注 0票数 1

几天来,我一直在与一个错误作斗争,但没有找到正确的解决方案。我正尝试在QT Creator上开发的c++应用程序中使用windows上随cygwin安装的UMFPack库。

我通过转到我的项目来添加库->右键单击->添加库...Library Adding Forum

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

在Include Path中,我指向: /cygwin/usr/include/suitesparse

链接类型:动态

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

代码语言:javascript
运行
复制
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

但是,当我构建项目时,会显示以下错误:

代码语言:javascript
运行
复制
**:-1: error: LNK1104: cannot open file 'libumfpack.dlld.lib'**

谁能给我指出正确的方向?

EN

回答 1

Stack Overflow用户

发布于 2017-10-30 02:24:01

你把MSVC和gcc混在一起了。

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

但是仅仅重命名不会解决你的问题,因为格式是不一样的。至少你需要从你的".dll“生成一个".lib”。然而,这只有在库API是纯C语言的情况下才能起作用,因为C++名称损坏将阻止您在使用不同编译器构建的两个二进制文件中使用C++符号。

如果API是C++,您需要找到一个使用MSVC构建的库,或者更改您的编译器以使用与构建该库相同的库。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47002169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档