VS2019升级C++项目后mvn install报MSB4019错误求助
解决方案
1. 匹配开发者命令提示符版本
必须打开Visual Studio 2019开发者命令提示符,而非旧版本或通用命令提示符。该提示符会自动配置VCTargetsPath等关键环境变量,确保编译环境指向VS2019。
2. 修正项目文件的导入路径
打开报错的.vcxproj文件,检查顶部的导入语句,将其修改为VS2019 v142工具集对应的路径:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\v142\Microsoft.Cpp.Default.props" />
同时确认后续的Microsoft.Cpp.props和Microsoft.Cpp.targets导入路径,均指向v142目录。
3. 正确配置VCTargetsPath环境变量
不要手动设置为v4.0,直接指定VS2019的目标路径:
set VCTargetsPath=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160
或者直接通过VS2019开发者命令提示符启动环境,它会自动配置好所有必要变量,再执行mvn install。
4. 配置Maven插件的MSBuild参数
如果使用msbuild-maven-plugin,在pom.xml中明确指定VS2019的MSBuild路径和工具集版本:
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>msbuild-maven-plugin</artifactId> <version>你的插件版本</version> <configuration> <msbuildPath>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe</msbuildPath> <platformToolset>v142</platformToolset> <properties> <VCTargetsPath>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160</VCTargetsPath> </properties> </configuration> </plugin>
确保插件调用的是VS2019自带的MSBuild,而非系统中旧版本的程序。
5. 修复VS2019安装组件
若上述方法无效,打开VS Installer选择“修改”,确保勾选**“MSBuild工具”和“C++ v142构建工具(x86/x64)”**组件,完成重新安装后再尝试编译。
内容的提问来源于stack exchange,提问作者EngMyWorld
相关产品推荐
相关产品推荐

