Newbie alert : problem with NialM's Scripted GUI


#1

hey all,

I have just recently gotten into juce and really like what ive found. I came across Nial’s xml themed GUI project and thought that it sounded like just what i was after. Problem is I cant get it to build :frowning:

My setup is VC++ Express with the latest platform sdk and juce 1.23, everything works ok - i have successfully compiled a couple of smaller JUCE based apps. My guess is that either Im doing something wrong or the errors are occuring due to internal changes to juce. Below is the buildlog…

thanks in advance!

james

[list]
------ Build started: Project: ScriptedGUITest, Configuration: Release Win32 ------
Compiling…
WaveDisplay_f.cpp
JUCE! Linking to: jucelib_static.lib
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C2143: syntax error : missing ‘;’ before ''
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Titlebar_f.cpp
JUCE! Linking to: jucelib_static.lib
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C2143: syntax error : missing ‘;’ before '
'
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
NewButton.cpp
JUCE! Linking to: jucelib_static.lib
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C2143: syntax error : missing ‘;’ before ''
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
.\NewButton.cpp(59) : error C2661: ‘juce::TextButton::TextButton’ : no overloaded function takes 5 arguments
.\NewButton.cpp(60) : error C2039: ‘addActionListener’ : is not a member of 'juce::TextButton’
d:\code\lib\juce\src\juce_appframework\gui\components\controls…/buttons/juce_TextButton.h(45) : see declaration of 'juce::TextButton’
MinimiseButton.cpp
JUCE! Linking to: jucelib_static.lib
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C2143: syntax error : missing ‘;’ before '
'
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
.\MinimiseButton.cpp(77) : error C2039: ‘addActionListener’ : is not a member of 'juce::ImageButton’
d:\code\lib\juce\src\juce_appframework/gui/components/buttons/juce_ImageButton.h(47) : see declaration of 'juce::ImageButton’
MaximiseButton.cpp
JUCE! Linking to: jucelib_static.lib
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C2143: syntax error : missing ‘;’ before ''
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
.\MaximiseButton.cpp(77) : error C2039: ‘addActionListener’ : is not a member of 'juce::ImageButton’
d:\code\lib\juce\src\juce_appframework/gui/components/buttons/juce_ImageButton.h(47) : see declaration of 'juce::ImageButton’
MainWindow.cpp
JUCE! Linking to: jucelib_static.lib
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C2143: syntax error : missing ‘;’ before '
'
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
LoadButton.cpp
JUCE! Linking to: jucelib_static.lib
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C2143: syntax error : missing ‘;’ before ''
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
.\LoadButton.cpp(59) : error C2661: ‘juce::TextButton::TextButton’ : no overloaded function takes 5 arguments
.\LoadButton.cpp(60) : error C2039: ‘addActionListener’ : is not a member of 'juce::TextButton’
d:\code\lib\juce\src\juce_appframework\gui\components\controls…/buttons/juce_TextButton.h(45) : see declaration of 'juce::TextButton’
CloseButton.cpp
JUCE! Linking to: jucelib_static.lib
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C2143: syntax error : missing ‘;’ before '
'
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
.\CloseButton.cpp(75) : error C2039: ‘addActionListener’ : is not a member of 'juce::ImageButton’
d:\code\lib\juce\src\juce_appframework/gui/components/buttons/juce_ImageButton.h(47) : see declaration of 'juce::ImageButton’
WaveDisplay.cpp
JUCE! Linking to: jucelib_static.lib
.\WaveDisplay.cpp(61) : warning C4244: ‘initializing’ : conversion from ‘int64’ to ‘unsigned int’, possible loss of data
.\WaveDisplay.cpp(62) : warning C4244: ‘argument’ : conversion from ‘int64’ to ‘int’, possible loss of data
.\WaveDisplay.cpp(68) : warning C4244: ‘initializing’ : conversion from ‘int64’ to ‘unsigned int’, possible loss of data
.\WaveDisplay.cpp(69) : warning C4244: ‘argument’ : conversion from ‘int64’ to ‘int’, possible loss of data
.\WaveDisplay.cpp(73) : error C2664: ‘juce::Image::Image(const juce::Image::PixelFormat,const int,const int)’ : cannot convert parameter 1 from ‘int’ to 'const juce::Image::PixelFormat’
Conversion to enumeration type requires an explicit cast (static_cast, C-style cast or function-style cast)
Titlebar.cpp
JUCE! Linking to: jucelib_static.lib
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C2143: syntax error : missing ‘;’ before ''
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
SMWCreate.cpp
JUCE! Linking to: jucelib_static.lib
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C2143: syntax error : missing ‘;’ before '
'
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
ScriptedMainWindow.cpp
JUCE! Linking to: jucelib_static.lib
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C2143: syntax error : missing ‘;’ before ''
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
.\ScriptedMainWindow.cpp(39) : error C2065: ‘resizer’ : undeclared identifier
.\ScriptedMainWindow.cpp(39) : error C2061: syntax error : identifier ‘ResizerComponent’
.\ScriptedMainWindow.cpp(40) : error C2227: left of ‘->setColours’ must point to class/struct/union/generic type
type is ‘‘unknown-type’’
.\ScriptedMainWindow.cpp(104) : error C2227: left of ‘->setBounds’ must point to class/struct/union/generic type
type is ‘‘unknown-type’’
.\ScriptedMainWindow.cpp(122) : error C2227: left of ‘->setVisible’ must point to class/struct/union/generic type
type is ‘‘unknown-type’’
.\ScriptedMainWindow.cpp(127) : error C2227: left of ‘->setVisible’ must point to class/struct/union/generic type
type is ‘‘unknown-type’’
.\ScriptedMainWindow.cpp(143) : error C2227: left of ‘->setVisible’ must point to class/struct/union/generic type
type is ‘‘unknown-type’’
.\ScriptedMainWindow.cpp(153) : error C2227: left of ‘->setVisible’ must point to class/struct/union/generic type
type is ‘‘unknown-type’’
.\ScriptedMainWindow.cpp(158) : error C2227: left of ‘->setVisible’ must point to class/struct/union/generic type
type is '‘unknown-type’'
ScriptedApp.cpp
JUCE! Linking to: jucelib_static.lib
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C2143: syntax error : missing ‘;’ before '
'
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\code\projects\crap\scriptedguitest\sourcecode\ScriptedMainWindow.h(40) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
FactoryObject.cpp
JUCE! Linking to: jucelib_static.lib
ComponentFactory.cpp
JUCE! Linking to: jucelib_static.lib
.\ComponentFactory.cpp(136) : error C2664: ‘juce::XmlElement::hasTagName’ : cannot convert parameter 1 from ‘const char [22]’ to 'const tchar *const '
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Generating Code…
Build log was saved at "file://d:\code\projects\crap\ScriptedGUITest\sourcecode\Release\BuildLog.htm"
ScriptedGUITest - 54 error(s), 4 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
[/list]


#2

Ouch! That’s pretty nasty… I’d guess it’s probably down to changes in JUCE - it can be a pretty fast moving target in some respects. There’s a chance the different version of MSVC to mine would cause problems, but I don’t think there’d be that many :?:.

To be honest though, I’m not sure the code’s particularly great. I used it (modified slightly, I think) for my pedal board VST host, and came to the conclusion that the approach I took was just a bit too clunky, and that there has to be a better way (I’m thinking something like a framework where you could put your app into debug mode or something, and just drag the widgets about to place them, and bring up menus to set other properties). Having said that, I’m kind of moving away from widget-based guis now, and I don’t have much motivation to build a framework I’ll never use…

  • Niall.

#3

ahh well no problem, thanks for the reply.

i guess ill just bite the bullet so to speak and start work on my own stuff anyway.

cheers.

james


#4