错误 MSB3721 命令 ”已退出,返回代码为 1。

解决办法:去掉yasm复选框,改为masm

vs2017 自定义生成规则-编译汇编代码

VC++调用yasm编译汇编代码有三种方法:Custom Build、.rules文件、.targets文件。

1 Custom Build

Custom Build的优点是适用面广,vc6~vc2015都能使用;缺点是修改命令行参数稍显麻烦。

图1.19

Outputs是编译*.asm后的输出文件,连接时会用到此文件。上图的设置为"(IntDir)$(InputName).obj"其中(IntDir)$(InputName).obj"其中(IntDir)是编译时的临时目录,(InputName)是编译.asm文件名,如:编译addn.asm时,(InputName)是编译.asm文件名,如:编译addn.asm时,(InputName)就是add_n。

Commands是vsyasm.exe的命令行,具体如下:

1.12.2 .rules文件

鼠标右键单击项目,弹出菜单中单击【Custom Build Rules...】菜单项

图1.20

弹出如下界面,请单击"Find Existing..."按钮。

图1.21

请载入 yasm.rules文件,如所示:

"D:\dev2\v0\WebForDotNet-v0.3-Source\Externals\vpx-vp8-debug-src-x86-win32mt-vs8-v0.9.2\src\build\x86-msvs\yasm.rules"

下图所示界面,请单击"否"按钮。

图1.23

下图所示界面内,请勾选"Yasm",然后单击"OK"按钮。

图1.24

此时查看项目属性,可以看到配置里多了一项"Yasm Assembler",可以在这里对Yasm的命令行参数进行配置。如下图所示:

Definitions 定义

Include paths  包含路径

Remove Definitions 删除定义

Object file Name  目标文件名

List file name 列表文件名

Pre include file 预包含文件

Pre-Processor 预处理器

Parser 分析器

Execute before 执行之前

Execute after 执行后

Additional Dependencies 附加依赖项

YASMPATH  D:\Program\vsyasm-1.3.0-win64\

错误 MSB3721 命令 ”已退出,返回代码为 1。

解决办法:去掉yasm复选框,改为masm

图1.26

1.12.3 .targets文件

yasm -Xvc -f Win32 -g cv8 -I -o Win32\Debug\vpx\%(Filename).obj -rnasm -pnasm

-Xvc 是错误信息显示格式。对于gcc编译器可设置为 -Xgcc 或 -Xgnu。

-f Win32 表明是32位平台,对于64位平台可指定为-f x64

-g cv8 用来生成调试信息,这种调试信息不能被 vc6 识别,所以使用vc6编译.asm文件时,请去除该选项。

-o "(IntDir)"表示将在目录(IntDir)"表示将在目录(IntDir)里生成.obj文件。注意$(IntDir)后面的两个反斜杠一个都不能少。

$(InputPath)表示输入文件,如:add_n.asm、addmul_1.asm……

规则文件(即 RULES 文件)是文件扩展名为 .rules 的 XML 文件。通过该文件,可以定义自定义生成规则,并将其并入 Visual C++ 项目的生成过程中。自定义生成规则与一个或多个文件扩展名相关联。利用自定义生成规则,可以将输入文件传递给工具,进而作为生成过程的一部分生成一个或多个输出文件。

使用“Visual C++ 自定义生成规则文件”对话框可以管理项目中的规则文件。

说明:

规则文件遵循与属性表(VSPROPS 文件)相同的属性继承准则。有关更多信息,请参见属性继承。

将自定义生成规则并入生成过程中时,还可以指定运行这些生成规则的顺序。有关更多信息,请参见“工具生成顺序”对话框。

“Visual C++ 自定义生成规则文件对话框

通过此对话框,可以添加、修改或搜索规则文件,这些文件包含 C++ 项目的自定义生成规则。

若要访问此对话框,请在“解决方案资源管理器”中右击项目节点以调出项目上下文菜单,然后选择“自定义生成规则”菜单项。

可用的规则文件

显示可用的规则文件的列表。在“名称”列中,选中要添加到项目中的规则文件。

说明:

使用“选项”对话框 ->“项目和解决方案”->“VC++ 项目设置”修改“规则文件搜索路径”选项。

在 Visual Studio 旗舰版, Visual Studio 高级专业版 以及 Visual Studio Professional 中,您可以创建和修改自定义规则集 ,以满足与代码分析相关联的特定项目需要。 若要创建自定义规则集,请在规则集编辑器中打开一个或多个标准规则集。 然后,可以添加或移除特定规则,并且可以更改当代码分析确定违反规则时发生的操作。

若要创建新的自定义规则集,请使用新文件名保存它。 自定义规则集会自动分配给项目。

打开规则集编辑器

在规则集编辑器中打开空规则集文件

  1. 在 Visual Studio 的“文件”菜单上,指向“新建”,然后单击“文件”。
  2. 在“新建文件”对话框中,单击“已安装的模板”列表中的“常规”,然后选择“代码分析规则集”。
  3. 随即将显示规则集编辑器。 编辑器列表中没有已选中的规则。

从单个现有规则集创建自定义规则

  1. 在解决方案资源管理器中,右击项目,然后选择“属性”。
  2. 在“属性”选项卡中,单击“代码分析”。
  3. 在“规则集”下拉列表中,执行以下操作之一:
  • 选择要自定义的规则集。

- 或 -

  • 选择 <浏览> 指定列表外部的现有规则集。
  1. 单击“打开”以在规则集编辑器中显示规则。

从多个现有规则集创建自定义规则集

  1. 在解决方案资源管理器中,右击项目,然后选择“属性”。
  2. 在“属性”选项卡中,单击“代码分析”。
  3. 从 运行此规则集 中 <选择多个规则集>.
  4. 在“添加或移除规则集”对话框中,选择要作为新规则集基础的规则集,然后单击“确定”。
  5. 保存新规则集。

新规则集的名称在“运行此规则集”列表中处于选中状态。 在下一步中可以更改规则集的显示名称。

  1. (可选)若要更改规则集的显示名称,请在“视图”菜单上单击“属性窗口”。 在“名称”框中键入显示名称。
  2. 若要在新规则集中添加、移除或修改特定代码分析规则,请单击“打开”。

修改规则集

在规则集编辑器中修改规则集

  • 若要更改规则集的显示名称,请在“视图”菜单上单击“属性窗口”。 在“名称”框中输入显示名称。 请注意,显示名称可以与文件名不同。
  • 若要将组的所有规则添加到自定义规则集,请选中组的复选框。 若要移除组的所有规则,请清除该复选框。
  • 若要将特定规则添加到自定义规则集,请选中该规则的复选框。 若要从规则集内移除规则,请清除该复选框。
  • 若要更改在代码分析运行中违反规则时应采取的操作,请单击规则的“操作”字段,然后选择下列值之一:

Warn - 生成警告。

Error - 生成错误。

None - 禁用规则。 此操作相当于从规则集内移除规则。

更改规则集编辑器的显示

请参阅

如何:配置托管代码项目的代码分析
代码分析规则集参考

转载于:https://www.cnblogs.com/endv/p/7030232.html

vs2017 自定义生成规则 错误 MSB3721 命令 ”已退出,返回代码为 1。相关推荐

  1. MSB3721 命令““C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin\nvcc.exe“ 已退出 返回代码为1

    MSB3721    命令""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin\nvcc.exe" ...

  2. 命令“***”已退出,代码为9009

    命令"***"已退出,代码为9009 本系列文章仅用于记录本人在分析KeePass源码过程中遇到的问题及解决方法.如果你感觉以下内容似曾相识,没错,我就是抄的. 1.问题描述 错误 ...

  3. [转]错误“AxImp.exe”已退出,代码为 -1163019603。

    经验证,确实好使 引自http://m.blog.csdn.net/blog/NewMap/7903554# 最近使用vs2010 在重新生成解决方案的时候出现 "AxImp.exe&quo ...

  4. VS2012 生成项目报 Lc.exe已退出,代码为-1 错误

    解决方法:删除项目下Properties文件下的license.licx文件即可. 转载于:https://www.cnblogs.com/CLR010/p/3433221.html

  5. 很详细、很移动的Linux makefile教程:介绍,总述,书写规则,书写命令,使用变量,使用条件推断,使用函数,Make 的运行,隐含规则 使用make更新函数库文件 后序...

    很详细.很移动的Linux makefile 教程 内容如下: Makefile 介绍 Makefile 总述 书写规则 书写命令 使用变量 使用条件推断 使用函数 make 的运行 隐含规则 使用m ...

  6. 错误 1 error MSB3721: 命令““C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin\nvcc.exe” -genco

    错误 1 error MSB3721: 命令""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin\nvcc.e ...

  7. 错误 1 error MSB3721: 命令#34#C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin\nvcc.exe#34

    错误 1 error MSB3721: 命令""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin\nvcc.e ...

  8. 自动规避代码陷阱——自定义Lint规则

    目录 一.Lint是什么? 二.Lint的使用 三.为什么要使用自定义Lint规则? 四.新建module 五.在lintjar中定义规则 六.配置lintjar中gradle 七.配置LintAar ...

  9. aspnet_merge.exe”已退出,代码为1的错误的解决方法

    VS2005发布网站时不会像VS2003一样生成规则的DLL文件.而生成的DLL文件名含有随机数且不能一个项目生成一个DLL文件.让人有一些遗憾.为了做到像vs2003一样,微软发布了WebDeplo ...

最新文章

  1. 阿里跳槽拼多多,80万年薪涨到160万,值不值得去?
  2. win10 下载 linux系统安装教程,Win10安装Linux子系统图文教程
  3. MySQL中show语法使用总结
  4. C++ Primer 5th笔记(chap 16 模板和泛型编程)函数指针和实参推断
  5. ASP.NET MVC学习之控制器篇
  6. java 时间的相关转换操作
  7. 执行存储过程执行时,报ORA-01031权限不足
  8. Javascript对象的方法赋值
  9. itextpdf 简介
  10. python 定时任务 web管理_Selenium+WebDriver+Python 定时控制任务
  11. linux抓取snmp trap告警命令,linux snmptrap的发送与接收
  12. 计算机机房不允许开窗么,机房新风系统的设计要求及规范 你了解多少?
  13. 让WIN2003和2008服务器iis支持安卓应用.apk文件下载的配置方法
  14. 同一服务器部署多个web应用 登录互相影响
  15. 网易有道的喜与忧:11亿营销费抢市场,与跟谁学之间还差一个有道
  16. 在线购物系统 分析类或问题域类图
  17. 根据经纬度获取具体位置(百度,Java实现)
  18. google map 的地图偏移 火星坐标
  19. 车载冰箱E-mark认证测试项目有哪些?
  20. VMWare安装使用、Linux命令、Docker安装和Linux项目部署

热门文章

  1. 安全管家安卓_飞鸟清理管家app下载-飞鸟清理管家官方版下载v1.0.5
  2. 怎么让联想计算机升级,联想电脑怎么升级win11?联想电脑升级win11的几种方法...
  3. Googlenet v1、v2、v3、v4区别
  4. 深入理解Java虚拟机——运行时栈帧结构(局部变量表)
  5. Spark RDD简介
  6. Spring Security 配置白名单访问后,仍然报错403
  7. python股票查询系统_使用python获取股票的上市日期等基本信息
  8. 使用cookie防止恶意点击
  9. 群晖Bitwarden内网穿透https反向代理
  10. java排班算法-几班几倒