一、问题出现
最近在编Ceres-Solver库的时候出现了这个错误,在VS里重新生成的时候出现error MSB3073: 命令“setlocal”错误,就这一个错误也没有其他问题。
error MSB3073 是 Visual Studio 中的错误代码,它表示在执行命令时出现了问题。
"setlocal" 是一条命令,用于将当前环境设置为本地范围。它通常用于批处理文件,在执行完批处理文件之后,可以恢复原来的环境设置。
在网上也搜了相关解决方案,主要分为以下几种:
①:CMAKE时,设置的build目录不对的原因。如在源码(CMakelist.txt所在目录)主目录的外侧,新建了build的目录
②:install编译生成时需要权限的原因,以管理员身份运行VS
③:在项目上点右键,选择“属性”->“配置属性”->“常规”->“目标文件扩展名”,设置为.ocx 或者.dll
在项目上点右键,选择“属性”->“配置属性”->“链接器”->“ 常规 ”->“输出文件”,设置为$(OutDir)$(ProjectName)$(TargetExt)
但以上方法我试了都没有成功
二、问题解决
项目属性页——配置属性——生成事件——生成后事件——在生成中使用“是”修改为“否”
大功告成