You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译Microsoft Detours失败:路径错误及IDE配置修改求助

编译Microsoft Detours时的路径配置问题

错误信息

1>LINK : warning LNK4281: undesirable base address 0x7100000 for x64 image; set base address above 4GB for best ASLR optimization
1>LINK : warning LNK4281: undesirable base address 0x7200000 for x64 image; set base address above 4GB for best ASLR optimization
1>LINK : warning LNK4281: undesirable base address 0x7300000 for x64 image; set base address above 4GB for best ASLR optimization
1>LINK : warning LNK4281: undesirable base address 0x1900000 for x64 image; set base address above 4GB for best ASLR optimization
1>LINK : warning LNK4281: undesirable base address 0x1A00000 for x64 image; set base address above 4GB for best ASLR optimization
1>error CS1668 : Warning as error : Invalid search path 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.29.30133\atlmfc\lib\x64' specified in 'LIB environment variable' -- 'The system cannot find the path specified. '
1>NMAKE : fatal error U1077: 'C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\csc.EXE' : return code '0x1'
1>NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\nmake.exe"' : return code '0x2'
1>NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\nmake.exe"' : return code '0x2'
1>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v160\Microsoft.MakeFile.Targets(54,5): error MSB3073: The command "SET DETOURS_TARGET_PROCESSOR=x64
1>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v160\Microsoft.MakeFile.Targets(54,5): error MSB3073: cd ..
1>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v160\Microsoft.MakeFile.Targets(54,5): error MSB3073: nmake clean
1>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v160\Microsoft.MakeFile.Targets(54,5): error MSB3073: nmake" exited with code 2.
1>    5 Warning(s)
1>    5 Error(s)

环境情况

本地Visual Studio 2022 Community中,14.29.30133版本的MSVC路径下无atlmfc文件夹,但以下两个版本路径存在该文件夹:

  • 14.39.33519
  • 14.42.34433

解决步骤

方法1:修改项目属性中的库路径

  1. 在Visual Studio中打开Detours项目,右键项目名称选择属性。
  2. 导航到配置属性 -> VC++目录 -> 库目录。
  3. 删除无效的C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.29.30133\atlmfc\lib\x64路径,添加存在的版本路径(如C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.42.34433\atlmfc\lib\x64)。
  4. 点击应用后重新编译项目。

方法2:调整Visual Studio的工具集版本

  1. 右键项目名称选择属性,进入配置属性 -> 常规。
  2. 在平台工具集下拉菜单中,选择已安装的包含atlmfc的版本(如v143对应14.39.x或更高版本)。
  3. 保存设置后重新执行编译。

方法3:手动修改环境变量(临时解决)

  1. 打开Visual Studio的x64 Native Tools Command Prompt。
  2. 执行命令移除无效路径并添加有效路径:
    set LIB=%LIB:C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.29.30133\atlmfc\lib\x64;=%
    set LIB=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.42.34433\atlmfc\lib\x64;%LIB%
    
  3. 切换到Detours源码目录,执行nmake clean和nmake命令重新编译。

关于LNK4281警告

这些警告提示x64镜像的基址低于4GB,影响ASLR优化。可通过以下方式解决:

  1. 打开项目属性,进入配置属性 -> 链接器 -> 高级。
  2. 将基址设置为0x100000000或更高的4GB以上地址。
  3. 保存后重新编译即可消除警告。

内容的提问来源于stack exchange,提问作者Andrew Truckle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 14:47:20