未定义的引用错误

在win7 64环境下使用vs2013和qt5.3.2编译工程时遇到LNK1112错误,提示模块计算机类型'x64'与目标计算机类型'X86'冲突。问题源于64位编译器与32位目标的不匹配。解决方法包括检查并修改项目的配置管理器,确保目标计算机类型设置正确,例如在项目属性的连接器高级设置中调整目标计算机类型为64位。
摘要由CSDN通过智能技术生成

在编译工程时出现:
/librestapi.a(rest_harbor.o):在函数‘rest_harbor_get_sysinfo’中: /rest_harbor.c:145:对‘harbor_get_sysinfo’未定义的引用 collect2: error: ld returned 1 exit status
但是我包含了实现的头文件。从报错来看,是rest_harbor.o这个库中没有正确链接harbor.o,所以应该检查Makrfile。结果在工程最外层的Lib.build中看到没有加入harbor.o库。加进去之后就编译通过了。

fatal error LNK1112: 模块计算机类型“x64”与目标计算机类型“X86”冲突
fatal error LNK1112: module machine type ‘x64’ conflicts with target machine type ‘X86’

环境:win7 64 vs2013 qt5.3.2_64_opengl
问题产生原因:64位编译器与32位编译目标冲突。

解决途径:

1.vs2013中,生成->配置管理器

2.项目->属性->连接器->高级->目标计算机
在这里插入图片描述
函数实现 要放到调用者的前面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值