Juce build problem when VST enabled


#1

i’m on Leo 10.5.2 with latest XCode downloaded from apple.

    cd /Users/atom/devel/juce/build/macosx
    /Developer/usr/bin/gcc-4.0 -x objective-c++ -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O0 -Wreturn-type -Wnon-virtual-dtor -Wunused-variable -DJUCE_SUPPORT_CARBON=1 -D_DEBUG=1 -DDEBUG=1 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fvisibility=hidden -mmacosx-version-min=10.4 -gdwarf-2 -I/Users/atom/devel/juce/build/macosx/../../bin/Juce.build/Debug/Juce.build/jucedebug.hmap -F/Users/atom/devel/juce/build/macosx/../../bin -I/Users/atom/vstsdk2.4 -I/Users/atom/devel/juce/build/macosx/../../bin/include -I/Users/atom/devel/juce -I/Users/atom/devel/vstsdk2.4 -I/Users/atom/devel/juce/build/macosx/../../bin/Juce.build/Debug/Juce.build/DerivedSources -c /Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.mm -o /Users/atom/devel/juce/build/macosx/../../bin/Juce.build/Debug/Juce.build/Objects-normal/i386/juce_VSTPluginFormat.o
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:1829: error: expected class-name before '{' token
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp: In constructor 'juce::VSTPluginWindow::VSTPluginWindow(juce::VSTPluginInstance&)':
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:1191: error: no matching function for call to 'juce::VSTPluginWindow::addAndMakeVisible(juce::VSTPluginWindow::InnerWrapperComponent*&)'
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/../../processors/../../gui/components/juce_Component.h:560: note: candidates are: void juce::Component::addAndMakeVisible(juce::Component*, int)
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp: In destructor 'juce::VSTPluginWindow::InnerWrapperComponent::~InnerWrapperComponent()':
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:1839: error: 'deleteWindow' was not declared in this scope
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp: In member function 'void juce::VSTPluginWindow::InnerWrapperComponent::mouseDown(int, int)':
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:1868: error: cannot call member function 'juce::Component* juce::Component::getTopLevelComponent() const' without object
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp: In member function 'void juce::VSTPluginWindow::InnerWrapperComponent::paint()':
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:1880: error: cannot call member function 'juce::ComponentPeer* juce::Component::getPeer() const' without object
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:1885: error: cannot call member function 'int juce::Component::getScreenX() const' without object
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:1886: error: cannot call member function 'int juce::Component::getWidth() const' without object
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:1887: error: cannot call member function 'int juce::Component::getScreenY() const' without object
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:1888: error: cannot call member function 'int juce::Component::getHeight() const' without object
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp: In member function 'virtual void juce::VSTPluginWindow::resized()':
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:1904: error: 'class juce::VSTPluginWindow::InnerWrapperComponent' has no member named 'setSize'
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp: In member function 'int juce::VSTPluginInstance::dispatch(int, int, int, void*, float) const':
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:2203: warning: 'GetPort' is deprecated (declared at /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1862)
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:2203: warning: 'GetPort' is deprecated (declared at /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1862)
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:2205: warning: 'SetOrigin' is deprecated (declared at /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1984)
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:2205: warning: 'SetOrigin' is deprecated (declared at /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1984)
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:2213: warning: 'SetPort' is deprecated (declared at /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1847)
/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:2213: warning: 'SetPort' is deprecated (declared at /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1847)
	/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:1829: error: expected class-name before '{' token
	/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:1191: error: no matching function for call to 'juce::VSTPluginWindow::addAndMakeVisible(juce::VSTPluginWindow::InnerWrapperComponent*&)'
	/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/../../processors/../../gui/components/juce_Component.h:560: note: candidates are: void juce::Component::addAndMakeVisible(juce::Component*, int)
	/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:1839: error: 'deleteWindow' was not declared in this scope
	/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:1868: error: cannot call member function 'juce::Component* juce::Component::getTopLevelComponent() const' without object
	/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:1880: error: cannot call member function 'juce::ComponentPeer* juce::Component::getPeer() const' without object
	/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:1885: error: cannot call member function 'int juce::Component::getScreenX() const' without object
	/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:1886: error: cannot call member function 'int juce::Component::getWidth() const' without object
	/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:1887: error: cannot call member function 'int juce::Component::getScreenY() const' without object
	/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:1888: error: cannot call member function 'int juce::Component::getHeight() const' without object
	/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:1904: error: 'class juce::VSTPluginWindow::InnerWrapperComponent' has no member named 'setSize'
	/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:2203: warning: 'GetPort' is deprecated (declared at /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1862)
	/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:2203: warning: 'GetPort' is deprecated (declared at /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1862)
	/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:2205: warning: 'SetOrigin' is deprecated (declared at /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1984)
	/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:2205: warning: 'SetOrigin' is deprecated (declared at /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1984)
	/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:2213: warning: 'SetPort' is deprecated (declared at /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1847)
	/Users/atom/devel/juce/build/macosx/../../src/juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp:2213: warning: 'SetPort' is deprecated (declared at /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1847)

looks like some Carbon parts are missing, but there is no complaint about missing headers, just this i can’t find the declaration of CarbonViewWrapperComponent anywhere. What am i doing wrong ?


#2

I think I tweaked something related to that last week - try grabbing the tip now…


#3

still at rev 668 no changes to anything, a commit please :slight_smile:


#4

I didn’t mean that I’ve got anything new, I thought you might still be on last week’s code. This was a bug in the amalgamated stuff that I sorted out - no idea why you’d still be seeing it (?)


#5

i misunderstood then, did svn update, clean, rebuild, still same problem.


#6

Odd. Ok, I’ll check it out, probably tomorrow.


#7

I just grabbed the tip an hour ago and it doesn’t build on Windows using MSVC. When JUCE_PLUGINHOST_VST is set it gives all kinds of errors related to the CarbonViewWrapperComponent, it seems that it is included in Windows when it shouldn’t.
A fix would be appreciated.


#8

quick fix that worked for me with that problem on windows

http://www.rawmaterialsoftware.com/juceforum/viewtopic.php?t=3692


#9

I added an ifdef to juce_VSTPluginFormat,
Now it builds fine in Windows.

#ifdef JUCE_MAC #include "../../../../../build/macosx/platform_specific_code/juce_mac_CarbonViewWrapperComponent.h" #endif