VS2015 update 1 "There are no property pages for the selection."


#1

Visual Studio 2015 Update 1

Windows 10

Using the latest available version of JUCE.

here's the .jucer project: http://www.elanhickler.com/transfer/reaper_juce_example.jucer

 

Problem: I cannot open properties of the reaper_juce_example.vcxproj in visual studio because I get error "There are no property pages for the selection."

 

I tried WinMerge with the generated vcxproj vs a blank project and tried to manually edit it, but that failed as well. I couldn't tell what difference there was which would cause this problem.


#2

What about the VS2015 projects for all our demos? Do they work for you?


#3

examples\Demo\Builds\VisualStudio2015\JuceDemo.vcxproj works

JuceDemo works even after I use introjucer to regenerate the files.


#4

figured it might be helpful to have the vcxproj as well: http://www.elanhickler.com/transfer/reaper_juce_example.vcxproj


#5

By switching the configuration mode to release I was able to get it open... once or twice. I can't find any pattern to getting the properties window to show. I tried deleting the project from the sln and reloading it, that seemed to work a few times, but now it's not.


#6

Don't really know, the project looks ok to me.. Haven't seen anything similar ourselves, and have no idea what that error means. Perhaps it can't find your main.cpp file or something?


#7

animated gif to the rescue? (I know the project looks a bit weird, e.g. the juce files are all over the place and I added the project to the sln manually, ignore that bit. The problem occurs with freshly-made VS projects via introjucer for this particular project.)

 


#8

Sorry, I have no idea at all what's going on there!


#9

I did some more messing with WinMerge, I was able to get the properties page working in 2 out of 4 configurations (release x64 and debug win32). If I spent many hours learning exactly how the Visual Studio expects the vcxproj xml to be formatted maybe I could probably figure out exactly what introjucer is doing wrong. But then I said, "well wait a minute, what if the .jucer project is corrupt leading to a bad vs project?" I just tried creating a .jucer project from scratch and it works! Looks like the original .jucer project is corrupt.

from winmerge comparing old and new .jucer files:

GOOD!:

        <CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
                       isDebug="1" optimisation="1" targetName="NewProject"/>
        <CONFIGURATION name="Release" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
                       isDebug="0" optimisation="3" targetName="NewProject"/>

BAD!:

        <CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="x64"
                       isDebug="1" optimisation="1" targetName="reaper_juce_example"
                       wholeProgramOptimisation="1"/>
        <CONFIGURATION name="Release" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
                       isDebug="0" optimisation="3" targetName="reaper_juce_example"/>

Notice how the bad version specifies x64 and 32-bit.

Without going into crazy detail the problem has something to do with how the configurations are specified in the vcxproj xml. I don't know enough about how jucer creates vcxproj to know whether jucer is potentially messing up the vcxproj xml. I just have an idea that the problem is due to the fact that in the bad version has debug as only x64 and release as only 32-bit, and this mismatch is somehow corrupting the vcxproj xml.

...ok just did a test... and yes it looks like replacing "32-bit" for "x64" solves the problem for the original (bad) .jucer project!

Sooo... how do you specify x32/x64 in introjucer? (EDIT: Oops, found it, I didn't see there was a scrollbar)

p.s. what is a synbol?


#10

We use 64-bit configurations all the time, and never had this problem.. Maybe VS is just expecting there to be a 32-bit debug config, and if there isn't, it gets confused?


#11

Here's how I use 32-bit and 64-bit configuration for VS: http://www.juce.com/comment/319349#comment-319349

Never had a problem. You just have to remember that in VS, whenever you select Debug/Release you should also select x86, and whenever you select Debug64/Release64 you also select x64, otherwise bad things happen.

As for a debug synbol, I think this is infornation that expresses which progranning-language constructs generated a specific piece of nachine code in a given executable nodule :-)


#12

Simply stated, I believe the problem is this: If release/debug has mismatched platforms, introjucer will generate an illegal vcxproj  the vcxproj badly. It's not visual studio getting confused, it's actually a badly written xml. The generated vcxproj xml has some weirdness.

Ok, playing with configuration manager in Visual Studio. It looks like it's impossible, with visual studio to have a mismatch of x32/x64. In other words, you must have x32 debug/release OR x64 debug/release OR all at once. It seems that it is illegal/impossible to have a mismatch.

Edit: Haha, thanks timur.


#13

I’m having the precise same problem. Was working on the mac version or my plugin for a while, made a few changes, then wanted to go back to working on windows when I get “There are no property pages for the selection”. Tried to undo all the changes in the .jucer file since last time it worked, but that didn’t help.

Edit: Visual Studio 2015, Windows 10, Projucer less than a month old.


#14

Upgrading to Visual Studio 2017 RC solved the problem for me.


#15

It looks like it’s impossible, with visual studio to have a mismatch of x32/x64. In other words, you must have x32 debug/release OR x64 debug/release OR all at once.

It has always worked like that on Visual Studio. Having separate configurations for 32-bit and 64-bit just doesn’t work. Would it be possible to have a “both 32 bit and 64-bit” option for the Architecture field in the Visual Studio exporters?