Qt5Widgetsd.lib(Qt5Widgetsd.dll) : fatal error LNK1112: 模块计算机类型“x86”与目标计算机类型“x64”冲突

在使用就VS2017编译64bit的CC时,出现了上述的问题,网上查找了很多原因都没有解决问题,后来无意间翻了一下附加依赖项里的静态库,发现了问题。原来程序里链接的库是32位的!!!如果工程是自己建的肯定不会犯这样低级的错误,但是如果是网上下载的,且开发环境有变化的就不一样了。总之解决方法很简单,把32bit的库换成64bit的就行了。如下:

 

### 解决 Qt6Widgetsd.lib 导致的 LNK1104 错误 当遇到 `LNK1104` 错误提示无法打开文件 “Qt6Widgetsd.lib” 时,这通常意味着链接器找不到所需的库文件。以下是几种可能的原因及对应的解决方案: #### 配置项目文件中的 LIBS 变量 如果是在 `.pro` 文件中配置库路径,则需确认路径是否正确无误。对于调试版本,应确保指定了带有 `-d` 后缀的库名,并且该库确实存在于指定目录下[^1]。 ```qmake LIBS += -L$$PWD/../../path/to/debug/libs/ -lQt6Widgetsd ``` #### 检查环境变量 PATH 设置 有时即使在项目里设置了正确的库路径,但如果系统的 `PATH` 环境变量中有其他干扰性的路径也可能引发此问题。建议临时调整或清除不必要的路径条目来测试是否能解决问题。 #### 更新 qmake 或 CMakeLists.txt 中的相关设置 如果是通过构建工具自动生成 Makefile 的话,请检查并更新相应的脚本文件以包含最新的库位置信息。特别是对于不同平台下的相对路径转换要特别小心处理。 #### 使用绝对路径代替相对路径 尝试使用完整的、不含任何宏定义的绝对路径指向目标 .lib 文件所在的位置,这样可以排除因工作目录变化引起的问题。 #### 排除特定于 IDE 的配置冲突 鉴于某些集成开发环境中可能存在特殊设定影响到了外部库加载过程的情况,在 VS2019 下创建基于 QT6 的工程时不应当手动向附加依赖项列表加入像 `qtmaind.lib` 这样的默认已由框架自动管理的内容[^2];同理可推测或许也无需显式引入 `Qt6Widgetsd.lib` 类似的组件级静态库除非有特殊情况说明需要这样做。 #### 核实安装包完整性 最后但同样重要的是,考虑到可能是由于缺少必要的编译资源所造成的状况——即开发者机器上并没有实际部署好全部所需的支持材料(比如某个模块仅下载了一部分),此时重新获取一份官方发布的完整 SDK 并按照指导完成本地化将是明智之举。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值