Warning MSB8027: Two or more files with the name of

Since 4.2.1 the producer creates a project for VS2013 that produces the above warning for each of the main JUCE source files.

It does no harm, but is irritating as I like to set warnings as errors. Complete output as follows.

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(935,5): warning MSB8027: Two or more files with the name of juce_audio_basics.cpp will produce outputs to the same location. This can lead to an incorrect build result. The files involved are C:\JUCE\modules\juce_audio_basics\juce_audio_basics.cpp, …\JuceLibraryCode\juce_audio_basics.cpp.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(935,5): warning MSB8027: Two or more files with the name of juce_audio_devices.cpp will produce outputs to the same location. This can lead to an incorrect build result. The files involved are C:\JUCE\modules\juce_audio_devices\juce_audio_devices.cpp, …\JuceLibraryCode\juce_audio_devices.cpp.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(935,5): warning MSB8027: Two or more files with the name of juce_audio_formats.cpp will produce outputs to the same location. This can lead to an incorrect build result. The files involved are C:\JUCE\modules\juce_audio_formats\juce_audio_formats.cpp, …\JuceLibraryCode\juce_audio_formats.cpp.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(935,5): warning MSB8027: Two or more files with the name of juce_audio_processors.cpp will produce outputs to the same location. This can lead to an incorrect build result. The files involved are C:\JUCE\modules\juce_audio_processors\juce_audio_processors.cpp, …\JuceLibraryCode\juce_audio_processors.cpp.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(935,5): warning MSB8027: Two or more files with the name of juce_core.cpp will produce outputs to the same location. This can lead to an incorrect build result. The files involved are C:\JUCE\modules\juce_core\juce_core.cpp, …\JuceLibraryCode\juce_core.cpp.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(935,5): warning MSB8027: Two or more files with the name of juce_cryptography.cpp will produce outputs to the same location. This can lead to an incorrect build result. The files involved are C:\JUCE\modules\juce_cryptography\juce_cryptography.cpp, …\JuceLibraryCode\juce_cryptography.cpp.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(935,5): warning MSB8027: Two or more files with the name of juce_data_structures.cpp will produce outputs to the same location. This can lead to an incorrect build result. The files involved are C:\JUCE\modules\juce_data_structures\juce_data_structures.cpp, …\JuceLibraryCode\juce_data_structures.cpp.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(935,5): warning MSB8027: Two or more files with the name of juce_events.cpp will produce outputs to the same location. This can lead to an incorrect build result. The files involved are C:\JUCE\modules\juce_events\juce_events.cpp, …\JuceLibraryCode\juce_events.cpp.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(935,5): warning MSB8027: Two or more files with the name of juce_graphics.cpp will produce outputs to the same location. This can lead to an incorrect build result. The files involved are C:\JUCE\modules\juce_graphics\juce_graphics.cpp, …\JuceLibraryCode\juce_graphics.cpp.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(935,5): warning MSB8027: Two or more files with the name of juce_gui_basics.cpp will produce outputs to the same location. This can lead to an incorrect build result. The files involved are C:\JUCE\modules\juce_gui_basics\juce_gui_basics.cpp, …\JuceLibraryCode\juce_gui_basics.cpp.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(935,5): warning MSB8027: Two or more files with the name of juce_gui_extra.cpp will produce outputs to the same location. This can lead to an incorrect build result. The files involved are C:\JUCE\modules\juce_gui_extra\juce_gui_extra.cpp, …\JuceLibraryCode\juce_gui_extra.cpp.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(935,5): warning MSB8027: Two or more files with the name of juce_opengl.cpp will produce outputs to the same location. This can lead to an incorrect build result. The files involved are C:\JUCE\modules\juce_opengl\juce_opengl.cpp, …\JuceLibraryCode\juce_opengl.cpp.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(935,5): warning MSB8027: Two or more files with the name of juce_video.cpp will produce outputs to the same location. This can lead to an incorrect build result. The files involved are C:\JUCE\modules\juce_video\juce_video.cpp, …\JuceLibraryCode\juce_video.cpp.

That sounds wrong to me… Sure, there are two references to files with the same name, but only one of them is ever compiled, so there won’t be a clash of output filenames.

Also, this doesn’t happen for me in VS2013 with any of the juce example projects!

I just created a new gui project from the projucer, selected 2013, and did a save of the default project generated, and open in IDE. building it produces the warnings.

OK, well I just did exactly the same thing and had no warnings… If you’re not already doing so, maybe try the latest version of Projucer on the develop branch.

@Thingfish47 Did you ever resolve this issue?

I’m having to use ‘master’ right now, and VS2013 is spewing this issue for all modules.

No, never did. It appears to do no harm however, other than the
irritation of the warning messages.

If anyone could tell us how to replicate this, it might be something we could fix, but I don’t think anyone here has ever seen it happen!

I use VS2013 on 64bit Win7.

A Clean clone from github into C:\JUCE.

Build a release Producer with VS2013

Create a gui project. (add nothing)

Build it.

Just tried on Windows 10 - same result.

1 Like

For me, just building the JuceDemo in VS2013 does it.

The VS2015 JuceDemo project doesn’t produce warnings…

Should note that this is all using juce/master.