Why do some builds of a C ++ project show 00:00:00 elapsed time and details of the output window are not displayed?

We have a VS2010 C ++ solution with a resolution of 160+. I start with a completely empty output directory and "Build Solution". I have a verbose version of the IDE installed in Normal. During the build, I watch the "Exit" window. (VS2010 is configured to create 2 projects at a time, each of which compiles only one .cpp file at a time.)

Most projects show numerous output lines from the compiler (each .cpp file name) and the librarian / linker.

But - some projects (10 in the last run) show EXTREMELY minimum output. Example:

29>------ Build started: Project: DebuggingService (LHFramework\DebuggingService\DebuggingService), Configuration: Debug x64 ------ 29>Build started 8/17/2011 3:23:24 PM. 29> 29>Build succeeded. 29> 29>Time Elapsed 00:00:00 

Projects that exhibit these symptoms - are not disabled, they have many .cpp files and the corresponding result files (.obj, .lib, .exe, etc.) - are created by this assembly.

When I empty the assembly output directory and restart the assembly from scratch, another set of projects may show these symptoms!

It looks like these project builds = occur = happen (obviously takes more than 00:00:00), but the display in the Exit window is skipped. I do not know any project parameters that affect the assembly output: I think that it is controlled only by the IDE level settings. In any case, we use the same settings for all projects, so they should show the same level of detail.

The .log file contains only the last five lines above, minus the "29>" indicator. There are various .tlog files: 3 from "cl", 3 from "custombuild", 3 from "lib". I can almost understand what they mean. :)

PROBABLY IMPORTANT NOTE. Our .sln / .vcxproj / etc files are generated by CMake. I did not install this, but all projects have a custom build step to run CMake to determine what work needs to be done (compilation / link / etc.).

SO ... Is this a known issue with VS2010? Or did we come across some kind of interaction VS2010 ↔ CMake?

Mike

+6
source share
2 answers

I have not heard of this particular problem at all, but be sure to try using the latest version of CMake with Visual Studio 2010. The last official release was from early July, CMake 2.8.5. And the first release release for CMake 2.8.6-rc1 appeared yesterday.

In earlier versions of CMake, there were several known problems (although I did not know this) with VS 2010 solutions, and many of them were fixed with 2.8.5. There were some very annoying problems with the assembly rules, which required several iterations for the full address.

Give a snapshot of CMake 2.8.5 or 2.8.6-rc1. Perhaps this problem is related to what has already been fixed ...

+2
source

It seems to me that the dependencies of the project cause the launch of projects for assembly more than once, and the second time the project is skipped, because it does not need to be rebuilt. Differences in synchronization may explain why you see different projects each time with this behavior.

Are there any previous copies of the project in the magazines showing the elapsed time 00:00:00 ? This would be a good indicator of whether it was previously built.

You can also enable MSBuild verbosity in Visual Studio by choosing Tools> Options> Projects and Solutions> Build and Run. Set the "MSBuild Project Project Log File" to "Detailed" or "Diagnostics" and see if there is anything more interesting in your logs.

+1
source

Source: https://habr.com/ru/post/895369/


All Articles