08-27-2013 05:00 AM
I think I've discovered (another) problem with compilation with external compilers.
If I define build actions, the output of build steps action AND the compiler itself is totally ignored.
To demonstrate the problem I've used the project I set up to demonstrate the problem with precompiled headers, and I've defined three trivial actions:
With internal CVI compiler the output is what I expect to see:
Build Status (demo_pch.prj - Release) Custom build actions: this is a custom build action Pre-build actions: this is a pre-build action demo_pch.c Link demo_pch.exe "d:\demo_pch\demo_pch.exe" successfully created. Post-build actions: this is a post-build action Build succeeded.
If I switch to an external compiler (I tried with Clang and MS VC 9.0) all I get is this:
Build Status (demo_pch.prj - Release) Build succeeded.
But it's even worse, if there is a bug in my source I get the very same output, hiding any error or warning in the compilation process.
Attached is the sample project, with a wanted bug in .c file.
08-30-2013 06:09 AM
A missing detail is that this happens on two different PCs, both running Windows 7 SP1 x64 italian.
The obvious workaround is to avoid the actions at all, but this has an heavy impact on my workflow. I would like to know - at least - if NI people agrees on this problem or I have to do a deep research for some quirk on my PCs.
I remark that this is a different problem to the impossibility (or better: uselessness) to use precompiled headers with Microsoft compiler.
08-30-2013 06:07 PM
Hi Carlox,
Thank you for reporting this issue. It appears t be a bug in our pre-build steps in CVI 2013. If there is a pre-build step with an external compiler, then no build steps are executed. Removing the pre-build steps allows custom actions and post-build steps to execute.
I have filed a bug report for this issue. You can track it with ID 424885. We will include this fix in our next update.