LINK : warning LNK4068: /MACHINE not specified; defaulting to X86

[VS2010] 编译64位静态库lib提示fatal error LNK1112: module machine type 'x64' conflicts等错误的解决方案

2018年01月17日 19:40:59

阅读数:147

环境

Win7 x64 
Visual Studio 2010


程序写完,本想导出dll(x64)、lib (x64),在动态链接库dll下编译成功。

Dll Config


但是在编译静态库lib时,出错了

Lib Config

报错如下:

1>—— Build started: Project: EditAlgoTestFrameWork, Configuration: Release x64 —— 
1>Build started 1/17/2018 11:32:37 AM. 
1>InitializeBuildStatus: 
1> Creating “x64\Release\EditAlgoTestFrameWork.unsuccessfulbuild” because “AlwaysCreate” was specified. 
1>ClCompile: 
1> All outputs are up-to-date. 
1>ResourceCompile: 
1> All outputs are up-to-date. 
1>Lib: 
1> All outputs are up-to-date. 
1>LINK : warning LNK4068: /MACHINE not specified; defaulting to X86 
1>x64\Release\Test.obj : fatal error LNK1112: module machine type ‘x64’ conflicts with target machine type ‘X86’ 
1> 
1>Build FAILED. 
1> 
1>Time Elapsed 00:00:00.20 
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


原因

由于项目默认 /MACHINE属性值为X86,故在编译lib(x64)时,需要显式指定其值为X64


解决方案

项目右键属性(Properties) –> 配置属性(Configuration Properties) –> 库管理器(Librarian) –> 命令行(Command Line) –> 其他选项(additional Options)   指定/MACHINE值为X64:

/MACHINE:X64

保存并重新编译即可通过。

Configure Properties

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值