Post 事件构建在 Visual studio 2013 中退出并出现代码 1 错误
Post event build exit with code 1 error in Visual studio 2013
这是脚本:
copy /y "$(SolutionDir)Libs\Detect.dll" "$(SolutionDir)$(ConfigurationName)"
call editbin.exe /LARGEADDRESSAWARE SER.EXE > post.txt
call dumpbin.exe /HEADERS SER.EXE > post1.txt
错误是
Error 306 The command "copy /y "C:\dev\blah\Libs\Detect.dll"
"C:\dev\blah\Debug" call editbin.exe /LARGEADDRESSAWARE SER.EXE >
post.txt call dumpbin.exe /HEADERS SER.EXE > post1.txt" exited with
code 1.
Post event build exit with code 1 error in Visual studio 2013
只有一件事需要确认:这个SER.EXE
是只在发布模式下执行,还是只有这个SER.EXE
存在于发布文件夹中,应该在调试和发布模式下执行?
如果这个SER.EXE
只需要在release中执行,Lex的建议值得考虑。预生成事件和 Post-生成事件 运行 作为批处理脚本。您可以对 $(ConfigurationName) 执行条件语句。例如:
copy /y "$(SolutionDir)Libs\Detect.dll" "$(SolutionDir)$(ConfigurationName)"
if $(ConfigurationName) == Release call editbin.exe /LARGEADDRESSAWARE "SER.EXE"> post.txt
if $(ConfigurationName) == Release call dumpbin.exe /HEADERS SER.EXE > post1.txt
如果release文件夹中存在这个SER.EXE
,需要在debug和release模式下执行,只需要在命令中指定release文件夹即可:
call editbin.exe /LARGEADDRESSAWARE "Release\SER.EXE"> post.txt
call dumpbin.exe /HEADERS "Release\SER.EXE"> post1.txt
当然,你还需要确保SER.EXE
可以执行,你可以使用下面的命令在控制台应用程序项目中测试:
call editbin.exe /LARGEADDRESSAWARE "$(TargetPath)"> post.txt
注意:当你想在调试和发布模式下使用这个post-build事件时,你应该为所有配置添加命令行,否则这个命令只会作用于一种模式(提醒一下):
希望对您有所帮助。
这是脚本:
copy /y "$(SolutionDir)Libs\Detect.dll" "$(SolutionDir)$(ConfigurationName)"
call editbin.exe /LARGEADDRESSAWARE SER.EXE > post.txt
call dumpbin.exe /HEADERS SER.EXE > post1.txt
错误是
Error 306 The command "copy /y "C:\dev\blah\Libs\Detect.dll" "C:\dev\blah\Debug" call editbin.exe /LARGEADDRESSAWARE SER.EXE > post.txt call dumpbin.exe /HEADERS SER.EXE > post1.txt" exited with code 1.
Post event build exit with code 1 error in Visual studio 2013
只有一件事需要确认:这个SER.EXE
是只在发布模式下执行,还是只有这个SER.EXE
存在于发布文件夹中,应该在调试和发布模式下执行?
如果这个SER.EXE
只需要在release中执行,Lex的建议值得考虑。预生成事件和 Post-生成事件 运行 作为批处理脚本。您可以对 $(ConfigurationName) 执行条件语句。例如:
copy /y "$(SolutionDir)Libs\Detect.dll" "$(SolutionDir)$(ConfigurationName)"
if $(ConfigurationName) == Release call editbin.exe /LARGEADDRESSAWARE "SER.EXE"> post.txt
if $(ConfigurationName) == Release call dumpbin.exe /HEADERS SER.EXE > post1.txt
如果release文件夹中存在这个SER.EXE
,需要在debug和release模式下执行,只需要在命令中指定release文件夹即可:
call editbin.exe /LARGEADDRESSAWARE "Release\SER.EXE"> post.txt
call dumpbin.exe /HEADERS "Release\SER.EXE"> post1.txt
当然,你还需要确保SER.EXE
可以执行,你可以使用下面的命令在控制台应用程序项目中测试:
call editbin.exe /LARGEADDRESSAWARE "$(TargetPath)"> post.txt
注意:当你想在调试和发布模式下使用这个post-build事件时,你应该为所有配置添加命令行,否则这个命令只会作用于一种模式(提醒一下):
希望对您有所帮助。