解决Creating "...unsuccessfulbuild" because "AlwaysCreate" was specified.

本文介绍了解决Visual C++编译时出现大量“所有输出都是最新的”提示的方法。通过排查工程配置,发现是因为ReadMe.txt文件被误删导致。文章提供了具体的解决步骤。

每次编译或者调试运行的时候都会出现下面的语句:

(虽然不是什么错误,总是让人很闹心,尤其是有错误或警告条目的时候,还要往上翻半天才能找到。)


1>Build started 2013/2/25 16:01:03.

1>InitializeBuildStatus:
1> Creating "x64\Debug\xx.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>ClCompile:
1> All outputs are up-to-date.
1> All outputs are up-to-date.
1>ResourceCompile:
1> All outputs are up-to-date.
1>ManifestResourceCompile:
1> All outputs are up-to-date.
1>Link:
1> All outputs are up-to-date.
1> xx.vcxproj -> D:\VisonExpert\IUnit\x64\Debug\xx.dll
1>Manifest:
1> All outputs are up-to-date.
1> All outputs are up-to-date.
1>BscMake:
1> All outputs are up-to-date.
1>FinalizeBuildStatus:
1> Deleting file "x64\Debug\xx.unsuccessfulbuild".
1> Touching "x64\Debug\xx.lastbuildstate".
1>
1>Build succeeded.
1>

1>Time Elapsed 00:00:00.03


=============================================================================================================

根据意思,好像是工程指定了“AlwaysCreate”,但是翻遍了所有工程配置,也没有找到指定“AlwaysCreate”的地方。

无论如何,还是工程的配置出了问题,仔细查看,发现了问题,在此做一下记录。

工程中有一句:<CustomBuild Include="ReadMe.txt" />

也就是说该工程包含ReadMe.txt,但是在硬盘中,不小心把这个文件删掉了。

因为这个文件是该工程的一部分,编译的时候,VC更新检查机制发现该文件不存在,认为该工程更新了,于是重新编译。重新编译的时候,但是所有资源文件、cpp文件等都是最新的,于是就出现了:“All outputs are up-to-date.”

找到原因后,解决问题水到渠成。


总结:

1、用vc打开工程

2、逐个双击左列Solution Explorer中的文件列表,如果有文件不存在,就会有一个警告对话框弹出:


3、工程中移除该文件或者硬盘中添加该文件即可!





Configuring incomplete, errors occurred! See also "D:/Program Files (x86)/opencv/build/x86/CMakeFiles/CMakeOutput.log".The system is: Windows - 10.0.22631 - AMD64 Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. Compiler: Build flags: /DWIN32;/D_WINDOWS;/W3;/GR;/EHsc Id flags: The output was: 0 Microsoft(R) 生成引擎版本 4.8.9032.0 [Microsoft .NET Framework 版本 4.0.30319.42000] 版权所有 (C) Microsoft Corporation。保留所有权利。 生成启动时间为 2025/3/26 10:49:51。 节点 1 上的项目“D:\Program Files (x86)\opencv\build\x86\CMakeFiles\3.14.1\CompilerIdCXX\CompilerIdCXX.vcxproj”(默认目标)。 PrepareForBuild: 正在创建目录“Debug\”。 InitializeBuildStatus: 正在创建“Debug\CompilerIdCXX.unsuccessfulbuild”,因为已指定“AlwaysCreate”。 ClCompile: D:\VS2012\VC\bin\CL.exe /c /nologo /W0 /WX- /Od /Oy- /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Debug\\" /Fd"Debug\vc110.pdb" /Gd /TP /analyze- /errorReport:queue CMakeCXXCompilerId.cpp CMakeCXXCompilerId.cpp Link: D:\VS2012\VC\bin\link.exe /ERRORREPORT:QUEUE /OUT:".\CompilerIdCXX.exe" /INCREMENTAL:NO /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:".\CompilerIdCXX.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:".\CompilerIdCXX.lib" /MACHINE:X86 /SAFESEH Debug\CMakeCXXCompilerId.obj CompilerIdCXX.vcxproj -> D:\Program Files (x86)\opencv\build\x86\CMakeFiles\3.14.1\CompilerIdCXX\.\CompilerIdCXX.exe PostBuildEvent: for %%i in (cl.exe) do @echo CMAKE_CXX_COMPILER=%%~$PATH:i :VCEnd CMAKE_CXX_COMPILER=D:\VS2012\VC\bin\cl.exe FinalizeBuildStatus: 正在删除文件“Debug\CompilerIdCXX.unsuccessfulbuild”。 正在对“Debug\CompilerIdCXX.lastbuildstate”执行 Touch 任务。 已完成生成项目“D:\Program Files (x86)\opencv\build\x86\CMakeFiles\3.14.1\CompilerIdCXX\CompilerIdCXX.vcxproj”(默认目标)的操作。 分析错误原因并解决
最新发布
03-27
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值