Build breakage on the tip on juce_audio_devices?


#1

I just updated and am getting the following build errors under Mac OS/X, 10.6.

In file included from /development/rec/projects/slow/Builds/MacOSX/../../../../../juce/modules/juce_audio_devices/juce_audio_devices.cpp:174, from /development/rec/projects/slow/Builds/MacOSX/../../../../../juce/modules/juce_audio_devices/juce_audio_devices.mm:26: /development/rec/projects/slow/Builds/MacOSX/../../../../../juce/modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm: In constructor 'juce::AudioTrackProducerClass::AudioTrackProducerClass()': /development/rec/projects/slow/Builds/MacOSX/../../../../../juce/modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm:30: error: class 'juce::AudioTrackProducerClass' does not have any field named 'ObjCClass' /development/rec/projects/slow/Builds/MacOSX/../../../../../juce/modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm:30: error: no matching function for call to 'juce::ObjCClass<NSObject>::ObjCClass()' /development/rec/projects/slow/Builds/MacOSX/../../../../../juce/modules/juce_audio_devices/../juce_core/native/juce_osx_ObjCHelpers.h:141: note: candidates are: juce::ObjCClass<SuperclassType>::ObjCClass(const juce::ObjCClass<SuperclassType>&) [with SuperclassType = NSObject]


#2

No, don’t think that’s a bug… the ObjCClass stuff is included correctly AFAICT.

Maybe you’ve got some mis-matched headers lying around?


#3

Hmm, awright, I’m throwing out that whole Juce directory and downloading a completely fresh one… stay tuned…


#4

Ah no, sorry - I didn’t scroll all the way down your errors. In fact I think this is probably just because the compiler is trying to generate a copy constructor. (Perhaps you’re using GCC vs my Clang?)

If so, adding “JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioTrackProducerClass);” inside AudioTrackProducerClass should fix it.


#5

No luck… I added:

private: JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioTrackProducerClass); to the end of struct AudioTrackProducerClass in juce_mac_AudioCDBurner.mm and got the same error.

I’m rather tipsy at this point (not too tipsy to make clear bug reports, mind you, but still) and about to go out and do more Berlin nightlife so I’ll take this up again tomorrow AM… :slight_smile:


#6

Doh! Sorry. In fact, I had just missed out the extra, pointless template specifier, which GCC requires, but LLVM is more chilled about. I fixed this in some other places but missed this one. Sorted now.

Have ein Wunderbar Nacht!


#7

doesn’t exactly roll off the tongue


#8

Unfortunately, this doesn’t seem to fix it, at least on Mac OS/X 1.6 - there’s an error at or around the same line. :frowning:

Now, it seems to me that if I were reading the error dump below, I’d say that can’t be all of it - because there doesn’t seem to be an error before the last error, which is

but I assure you that there are no more errors, I checked 'em three times.

I just dumped all my precompiled headers and such and rebuilt. This occasionally fixes weird issues… waiting… darn this one-half-core laptop… done, same issue. :frowning:

[code]CompileC build/SlowGold.build/Debug/SlowGold.build/Objects-normal/i386/juce_gui_basics.o …/…/…/…/…/juce/modules/juce_gui_basics/juce_gui_basics.mm normal i386 objective-c++ com.apple.compilers.llvmgcc42
cd /development/rec/projects/slow/Builds/MacOSX
setenv LANG en_US.US-ASCII
/Developer/usr/bin/llvm-gcc-4.2 -x objective-c++ -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O0 -Wmissing-field-initializers -Wmissing-prototypes -Wreturn-type -Wnon-virtual-dtor -Wmissing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label -Wunused-variable -Wunknown-pragmas -Wfour-char-constants -Wsign-compare -Wnewline-eof -Wconversion -Wshorten-64-to-32 -Wstrict-selector-match -Wundeclared-selector -D_DEBUG=1 -DDEBUG=1 -DJUCE_ObjCExtraSuffix=jeMWW9 -DDONT_SET_USING_JUCE_NAMESPACE -DJUCE_DONT_DEFINE_MACRO -DJUCER_XCODE_MAC_F6D2F4CF=1 -mfix-and-continue -funroll-loops -ffast-math -ftree-vectorize -msse3 -mssse3 -fvisibility-inlines-hidden -msse4.1 -msse4.2 -gdwarf-2 -iquote “/development/rec/projects/slow/Builds/MacOSX/build/SlowGold.build/Debug/SlowGold.build/SlowGold 8.0.3-debug-generated-files.hmap” “-I/development/rec/projects/slow/Builds/MacOSX/build/SlowGold.build/Debug/SlowGold.build/SlowGold 8.0.3-debug-own-target-headers.hmap” “-I/development/rec/projects/slow/Builds/MacOSX/build/SlowGold.build/Debug/SlowGold.build/SlowGold 8.0.3-debug-all-target-headers.hmap” -iquote “/development/rec/projects/slow/Builds/MacOSX/build/SlowGold.build/Debug/SlowGold.build/SlowGold 8.0.3-debug-project-headers.hmap” -Wreorder -F/development/rec/projects/slow/Builds/MacOSX/build/Debug -I/development/rec/projects/slow/Builds/MacOSX/build/Debug/include -I…/…/JuceLibraryCode -I…/…/…/…/…/rec/externals/rubberband/src -I…/…/…/…/…/rec/src -I…/…/…/…/…/rec/genfiles/icon -I…/…/…/…/…/rec/genfiles/proto -I…/…/…/…/…/juce -I…/…/…/…/…/rec/src/rec/data/yaml/include -I…/…/…/…/…/build/Debug/glog/include -I…/…/…/…/…/build/Debug/gtest/include -I…/…/…/…/…/build/Debug/mpg123 -I…/…/…/…/…/build/Debug/protobuf/include -I…/… -I/development/rec/projects/slow/Builds/MacOSX/build/SlowGold.build/Debug/SlowGold.build/DerivedSources/i386 -I/development/rec/projects/slow/Builds/MacOSX/build/SlowGold.build/Debug/SlowGold.build/DerivedSources -c /development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/juce_gui_basics.mm -o /development/rec/projects/slow/Builds/MacOSX/build/SlowGold.build/Debug/SlowGold.build/Objects-normal/i386/juce_gui_basics.o

In file included from /development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/juce_gui_basics.cpp:142,
from /development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/juce_gui_basics.mm:26:
/development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp:447:72: warning: no newline at end of file
In file included from /development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/juce_gui_basics.cpp:139,
from /development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/juce_gui_basics.mm:26:
/development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/components/juce_Desktop.cpp:385: warning: no previous prototype for ‘bool juce::operator==(const juce::desktop::Displays::Display&, const juce::desktop::Displays::Display&)’
/development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/components/juce_Desktop.cpp:393: warning: no previous prototype for 'bool juce::operator!=(const juce::desktop::Displays::Display&, const juce::desktop::Displays::Display&)'
In file included from /development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/juce_gui_basics.cpp:266,
from /development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/juce_gui_basics.mm:26:
/development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm: In constructor ‘juce::NSViewComponentPeer::NSViewComponentPeer(juce::Component*, int, NSView*)’:
/development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm:79: warning: undeclared selector ‘frameChanged:’
/development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm:85: warning: undeclared selector ‘frameChanged:’
/development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm:100: warning: multiple methods named ‘-frame’ found
/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:198: warning: using ‘-(NSRect)frame’
/System/Library/Frameworks/QuartzCore.framework/Headers/CALayer.h:182: warning: also found ‘-(CGRect)frame’
/development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm: In member function ‘virtual void juce::NSViewComponentPeer::setBounds(int, int, int, int, bool)’:
/development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm:221: warning: multiple methods named ‘-frame’ found
/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:198: warning: using ‘-(NSRect)frame’
/System/Library/Frameworks/QuartzCore.framework/Headers/CALayer.h:182: warning: also found ‘-(CGRect)frame’
/development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm: In member function ‘juce::Rectangle juce::NSViewComponentPeer::getBounds(bool) const’:
/development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm:236: warning: ‘NSWindow’ may not respond to ‘-convertRectToScreen:’
/development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm:236: warning: (Messages without a matching method signature
/development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm:236: warning: will be assumed to return ‘id’ and accept
/development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm:236: warning: ‘…’ as arguments.)

/development/rec/projects/slow/Builds/MacOSX/…/…/…/…/…/juce/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm:236: confused by earlier errors, bailing out
[/code]


#9

Sorry, that was something else - looks like I accidentally used a new 10.7 API call. Have fixed that now.


#10

…and it’s gold!