Warning MSB8027: Two or more files with the name of


#1

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.


#2

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!


#3

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.


#4

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.


#5

@Thingfish47 Did you ever resolve this issue?

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


#6

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


#7

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!


#8

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.


#9

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.