Your compiler (which one is it?) is right. That method, CheckAttribute, should be static in order to be called without a 'this'.
Should be fixed on subversion revision 15443. The changed file you can download as-is onto your CLAM copy is: http://clam-project.org/clam/trunk/CLAM/src/core/base/DynamicTypeMacros.hxx Full CLAM recompilation required. In Gcc, this template code is just instantiated when you set up a clam dynamic type with bad indexes. Maybe your compiler is smarter or maybe your testing code has a badly defined dynamic type, but, in the later case, this error would avoid the proper error message to appear. David. El 24/11/13 17:58, alexarossi ha escrit: > Hi! > I installed CLAM on a 10.9 OSX. I tried to compile this example > http://clam-project.org/wiki/Constructing_and_playing_a_simple_network with > Eclipse through the plugin. But, it gives me the following error: > > > SCons Build [prova] (started 2013-11-24 17:50:25) > /sw/bin/scons -j 1 --implicit-cache --verbosity=1 > --buildconfiguration=release --forcemodified test.cc . > scons: Reading SConscript files ... > checking for SconsBuilderDoxygen.py > checking for SconsBuilderDoxygen.py done > > Building prova (release) > scons: done reading SConscript files. > scons: Building targets ... > scons: building associated VariantDir targets: test.cc > scons: Nothing to be done for `test.cc'. > scons: building associated VariantDir targets: .build/release > Dependency test.cc is forced modified > Dependency test.cc is forced modified > SharedObject('.build/release/test.os') > In file included from test.cc:1: > In file included from /Applications/CLAM_dev/include/CLAM/Network.hxx:24: > In file included from /Applications/CLAM_dev/include/CLAM/Processing.hxx:32: > In file included from > /Applications/CLAM_dev/include/CLAM/ProcessingConfig.hxx:25: > In file included from /Applications/CLAM_dev/include/CLAM/DynamicType.hxx:28: > /Applications/CLAM_dev/include/CLAM/XMLAdapter.hxx:109:13: warning: > comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic] > return str!=NULL; > ~~~^ ~~~~ > In file included from test.cc:1: > In file included from /Applications/CLAM_dev/include/CLAM/Network.hxx:24: > In file included from /Applications/CLAM_dev/include/CLAM/Processing.hxx:32: > In file included from > /Applications/CLAM_dev/include/CLAM/ProcessingConfig.hxx:25: > /Applications/CLAM_dev/include/CLAM/DynamicType.hxx:455:2: error: call to > non-static member function without an object argument > DYNAMIC_TYPE(Dummy, 1); > ^~~~~~~~~~~~~~~~~~~~~~ > /Applications/CLAM_dev/include/CLAM/DynamicTypeMacros.hxx:167:2: note: > expanded from macro 'DYNAMIC_TYPE' > __COMMON_DYNAMIC_TYPE(CLASS_NAME,N); \ > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > /Applications/CLAM_dev/include/CLAM/DynamicTypeMacros.hxx:119:3: note: > expanded from macro '__COMMON_DYNAMIC_TYPE' > CheckAttribute ((InboundsCheck*)NULL, \ > ^~~~~~~~~~~~~~ > In file included from test.cc:1: > In file included from /Applications/CLAM_dev/include/CLAM/Network.hxx:24: > In file included from /Applications/CLAM_dev/include/CLAM/Processing.hxx:33: > /Applications/CLAM_dev/include/CLAM/NullProcessingConfig.hxx:32:3: error: > call to non-static member function without an object argument > DYNAMIC_TYPE_USING_INTERFACE (NullProcessingConfig, 0, > ProcessingConfig); > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > /Applications/CLAM_dev/include/CLAM/DynamicTypeMacros.hxx:179:2: note: > expanded from macro 'DYNAMIC_TYPE_USING_INTERFACE' > __COMMON_DYNAMIC_TYPE(CLASS_NAME,N); \ > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > /Applications/CLAM_dev/include/CLAM/DynamicTypeMacros.hxx:119:3: note: > expanded from macro '__COMMON_DYNAMIC_TYPE' > CheckAttribute ((InboundsCheck*)NULL, \ > ^~~~~~~~~~~~~~ > In file included from test.cc:3: > In file included from > /Applications/CLAM_dev/include/CLAM/MonoAudioFileReader.hxx:26: > /Applications/CLAM_dev/include/CLAM/MonoAudioFileReaderConfig.hxx:41:3: > error: call to non-static member function without an object argument > DYNAMIC_TYPE_USING_INTERFACE( MonoAudioFileReaderConfig, 3, > ProcessingConfig ); > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > /Applications/CLAM_dev/include/CLAM/DynamicTypeMacros.hxx:179:2: note: > expanded from macro 'DYNAMIC_TYPE_USING_INTERFACE' > __COMMON_DYNAMIC_TYPE(CLASS_NAME,N); \ > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > /Applications/CLAM_dev/include/CLAM/DynamicTypeMacros.hxx:119:3: note: > expanded from macro '__COMMON_DYNAMIC_TYPE' > CheckAttribute ((InboundsCheck*)NULL, \ > ^~~~~~~~~~~~~~ > In file included from test.cc:3: > In file included from > /Applications/CLAM_dev/include/CLAM/MonoAudioFileReader.hxx:27: > In file included from /Applications/CLAM_dev/include/CLAM/AudioOutPort.hxx:26: > /Applications/CLAM_dev/include/CLAM/Audio.hxx:49:3: error: call to non-static > member function without an object argument > DYNAMIC_TYPE_USING_INTERFACE (Audio, 3, ProcessingData); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > /Applications/CLAM_dev/include/CLAM/DynamicTypeMacros.hxx:179:2: note: > expanded from macro 'DYNAMIC_TYPE_USING_INTERFACE' > __COMMON_DYNAMIC_TYPE(CLASS_NAME,N); \ > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > /Applications/CLAM_dev/include/CLAM/DynamicTypeMacros.hxx:119:3: note: > expanded from macro '__COMMON_DYNAMIC_TYPE' > CheckAttribute ((InboundsCheck*)NULL, \ > ^~~~~~~~~~~~~~ > In file included from test.cc:3: > In file included from > /Applications/CLAM_dev/include/CLAM/MonoAudioFileReader.hxx:28: > In file included from /Applications/CLAM_dev/include/CLAM/AudioFile.hxx:26: > /Applications/CLAM_dev/include/CLAM/AudioFileFormats.hxx:26:2: error: > USE_SNDFILE was not set to 1 in your settings.cfg file, but you are including > files that require this. Please fix your settings.cfg > #error USE_SNDFILE was not set to 1 in your settings.cfg file, but you are > including files that require this. Please fix your settings.cfg > ^ > In file included from test.cc:3: > In file included from > /Applications/CLAM_dev/include/CLAM/MonoAudioFileReader.hxx:28: > In file included from /Applications/CLAM_dev/include/CLAM/AudioFile.hxx:27: > /Applications/CLAM_dev/include/CLAM/AudioFileHeader.hxx:36:3: error: call to > non-static member function without an object argument > DYNAMIC_TYPE( AudioFileHeader, 7 ); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > /Applications/CLAM_dev/include/CLAM/DynamicTypeMacros.hxx:167:2: note: > expanded from macro 'DYNAMIC_TYPE' > __COMMON_DYNAMIC_TYPE(CLASS_NAME,N); \ > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > /Applications/CLAM_dev/include/CLAM/DynamicTypeMacros.hxx:119:3: note: > expanded from macro '__COMMON_DYNAMIC_TYPE' > CheckAttribute ((InboundsCheck*)NULL, \ > ^~~~~~~~~~~~~~ > In file included from test.cc:3: > In file included from > /Applications/CLAM_dev/include/CLAM/MonoAudioFileReader.hxx:28: > In file included from /Applications/CLAM_dev/include/CLAM/AudioFile.hxx:28: > /Applications/CLAM_dev/include/CLAM/AudioTextDescriptors.hxx:34:3: error: > call to non-static member function without an object argument > DYNAMIC_TYPE( AudioTextDescriptors, 6 ); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > /Applications/CLAM_dev/include/CLAM/DynamicTypeMacros.hxx:167:2: note: > expanded from macro 'DYNAMIC_TYPE' > __COMMON_DYNAMIC_TYPE(CLASS_NAME,N); \ > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > /Applications/CLAM_dev/include/CLAM/DynamicTypeMacros.hxx:119:3: note: > expanded from macro '__COMMON_DYNAMIC_TYPE' > CheckAttribute ((InboundsCheck*)NULL, \ > ^~~~~~~~~~~~~~ > In file included from test.cc:1: > scons: building terminated because of errors. > In file included from /Applications/CLAM_dev/include/CLAM/Network.hxx:24: > In file included from /Applications/CLAM_dev/include/CLAM/Processing.hxx:32: > In file included from > /Applications/CLAM_dev/include/CLAM/ProcessingConfig.hxx:25: > In file included from /Applications/CLAM_dev/include/CLAM/DynamicType.hxx:28: > /Applications/CLAM_dev/include/CLAM/XMLAdapter.hxx:109:13: warning: > comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic] > return str!=NULL; > ~~~^ ~~~~ > /Applications/CLAM_dev/include/CLAM/DynamicType.hxx:372:26: note: in > instantiation of member function 'CLAM::XMLAdapter<int>::XMLContent' > requested here > XMLAdapter<AttribType> adapter(object, name, true); > ^ > /Applications/CLAM_dev/include/CLAM/DynamicType.hxx:456:2: note: in > instantiation of function template specialization > 'CLAM::DynamicType::StoreAttribute<int>' requested here > DYN_ATTRIBUTE(0, public, int, AnAttribute); > ^ > /Applications/CLAM_dev/include/CLAM/DynamicTypeMacros.hxx:258:16: note: > expanded from macro 'DYN_ATTRIBUTE' > DynamicType::StoreAttribute( \ > ^ > In file included from test.cc:1: > In file included from /Applications/CLAM_dev/include/CLAM/Network.hxx:24: > In file included from /Applications/CLAM_dev/include/CLAM/Processing.hxx:32: > In file included from > /Applications/CLAM_dev/include/CLAM/ProcessingConfig.hxx:25: > In file included from /Applications/CLAM_dev/include/CLAM/DynamicType.hxx:28: > /Applications/CLAM_dev/include/CLAM/XMLAdapter.hxx:109:13: warning: > comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic] > return str!=NULL; > ~~~^ ~~~~ > /Applications/CLAM_dev/include/CLAM/DynamicType.hxx:372:26: note: in > instantiation of member function > 'CLAM::XMLAdapter<CLAM::AudioInFilename>::XMLContent' requested here > XMLAdapter<AttribType> adapter(object, name, true); > ^ > /Applications/CLAM_dev/include/CLAM/MonoAudioFileReaderConfig.hxx:46:3: note: > in instantiation of function template specialization > 'CLAM::DynamicType::StoreAttribute<CLAM::AudioInFilename>' requested here > DYN_ATTRIBUTE( 0, public, AudioInFilename, SourceFile ); > ^ > /Applications/CLAM_dev/include/CLAM/DynamicTypeMacros.hxx:258:16: note: > expanded from macro 'DYN_ATTRIBUTE' > DynamicType::StoreAttribute( \ > ^ > In file included from test.cc:1: > In file included from /Applications/CLAM_dev/include/CLAM/Network.hxx:24: > In file included from /Applications/CLAM_dev/include/CLAM/Processing.hxx:32: > In file included from > /Applications/CLAM_dev/include/CLAM/ProcessingConfig.hxx:25: > In file included from /Applications/CLAM_dev/include/CLAM/DynamicType.hxx:28: > /Applications/CLAM_dev/include/CLAM/XMLAdapter.hxx:109:13: warning: > comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic] > return str!=NULL; > ~~~^ ~~~~ > /Applications/CLAM_dev/include/CLAM/DynamicType.hxx:372:26: note: in > instantiation of member function 'CLAM::XMLAdapter<bool>::XMLContent' > requested here > XMLAdapter<AttribType> adapter(object, name, true); > ^ > /Applications/CLAM_dev/include/CLAM/MonoAudioFileReaderConfig.hxx:57:3: note: > in instantiation of function template specialization > 'CLAM::DynamicType::StoreAttribute<bool>' requested here > DYN_ATTRIBUTE( 2, public, bool, Loop ); > ^ > /Applications/CLAM_dev/include/CLAM/DynamicTypeMacros.hxx:258:16: note: > expanded from macro 'DYN_ATTRIBUTE' > DynamicType::StoreAttribute( \ > ^ > In file included from test.cc:1: > In file included from /Applications/CLAM_dev/include/CLAM/Network.hxx:24: > In file included from /Applications/CLAM_dev/include/CLAM/Processing.hxx:32: > In file included from > /Applications/CLAM_dev/include/CLAM/ProcessingConfig.hxx:25: > In file included from /Applications/CLAM_dev/include/CLAM/DynamicType.hxx:28: > /Applications/CLAM_dev/include/CLAM/XMLAdapter.hxx:109:13: warning: > comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic] > return str!=NULL; > ~~~^ ~~~~ > /Applications/CLAM_dev/include/CLAM/DynamicType.hxx:372:26: note: in > instantiation of member function 'CLAM::XMLAdapter<float>::XMLContent' > requested here > XMLAdapter<AttribType> adapter(object, name, true); > ^ > /Applications/CLAM_dev/include/CLAM/Audio.hxx:52:3: note: in instantiation of > function template specialization 'CLAM::DynamicType::StoreAttribute<float>' > requested here > DYN_ATTRIBUTE (0, public, TData, SampleRate); > ^ > /Applications/CLAM_dev/include/CLAM/DynamicTypeMacros.hxx:258:16: note: > expanded from macro 'DYN_ATTRIBUTE' > DynamicType::StoreAttribute( \ > ^ > In file included from test.cc:1: > In file included from /Applications/CLAM_dev/include/CLAM/Network.hxx:24: > In file included from /Applications/CLAM_dev/include/CLAM/Processing.hxx:32: > In file included from > /Applications/CLAM_dev/include/CLAM/ProcessingConfig.hxx:25: > In file included from /Applications/CLAM_dev/include/CLAM/DynamicType.hxx:28: > /Applications/CLAM_dev/include/CLAM/XMLAdapter.hxx:109:13: warning: > comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic] > return str!=NULL; > ~~~^ ~~~~ > /Applications/CLAM_dev/include/CLAM/DynamicType.hxx:372:26: note: in > instantiation of member function 'CLAM::XMLAdapter<double>::XMLContent' > requested here > XMLAdapter<AttribType> adapter(object, name, true); > ^ > /Applications/CLAM_dev/include/CLAM/Audio.hxx:54:3: note: in instantiation of > function template specialization 'CLAM::DynamicType::StoreAttribute<double>' > requested here > DYN_ATTRIBUTE (1, public, TTime, BeginTime); > ^ > /Applications/CLAM_dev/include/CLAM/DynamicTypeMacros.hxx:258:16: note: > expanded from macro 'DYN_ATTRIBUTE' > DynamicType::StoreAttribute( \ > ^ > In file included from test.cc:1: > In file included from /Applications/CLAM_dev/include/CLAM/Network.hxx:24: > In file included from /Applications/CLAM_dev/include/CLAM/Processing.hxx:32: > In file included from > /Applications/CLAM_dev/include/CLAM/ProcessingConfig.hxx:25: > In file included from /Applications/CLAM_dev/include/CLAM/DynamicType.hxx:28: > /Applications/CLAM_dev/include/CLAM/XMLAdapter.hxx:109:13: warning: > comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic] > return str!=NULL; > ~~~^ ~~~~ > /Applications/CLAM_dev/include/CLAM/DynamicType.hxx:372:26: note: in > instantiation of member function 'CLAM::XMLAdapter<CLAM::Text>::XMLContent' > requested here > XMLAdapter<AttribType> adapter(object, name, true); > ^ > /Applications/CLAM_dev/include/CLAM/AudioTextDescriptors.hxx:35:3: note: in > instantiation of function template specialization > 'CLAM::DynamicType::StoreAttribute<CLAM::Text>' requested here > DYN_ATTRIBUTE( 0, public, Text, Artist ); > ^ > /Applications/CLAM_dev/include/CLAM/DynamicTypeMacros.hxx:258:16: note: > expanded from macro 'DYN_ATTRIBUTE' > DynamicType::StoreAttribute( \ > ^ > In file included from test.cc:1: > In file included from /Applications/CLAM_dev/include/CLAM/Network.hxx:24: > In file included from /Applications/CLAM_dev/include/CLAM/Processing.hxx:32: > In file included from > /Applications/CLAM_dev/include/CLAM/ProcessingConfig.hxx:25: > In file included from /Applications/CLAM_dev/include/CLAM/DynamicType.hxx:28: > /Applications/CLAM_dev/include/CLAM/XMLAdapter.hxx:109:13: warning: > comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic] > return str!=NULL; > ~~~^ ~~~~ > /Applications/CLAM_dev/include/CLAM/Array.hxx:319:24: note: in instantiation > of member function 'CLAM::XMLAdapter<unsigned int>::XMLContent' requested here > XMLAdapter<unsigned> sizeAdapter(Size(),"size"); > ^ > /Applications/CLAM_dev/include/CLAM/Array.hxx:280:3: note: in instantiation > of member function 'CLAM::Array<float>::StoreBufferOn' requested here > StoreBufferOn((typename TypeInfo<T>::StorableAsLeaf *)NULL, > mpData, storage); > ^ > /Applications/CLAM_dev/include/CLAM/Audio.hxx:56:3: note: in instantiation of > member function 'CLAM::Array<float>::StoreOn' requested here > DYN_ATTRIBUTE (2, public, DataArray, Buffer); > ^ > /Applications/CLAM_dev/include/CLAM/DynamicTypeMacros.hxx:263:8: note: > expanded from macro 'DYN_ATTRIBUTE' > TYPE obj; \ > ^ > 8 warnings and 7 errors generated. > scons: *** [.build/release/test.os] Error 1 > SCons Build [prova](finished 2013-11-24 17:50:32) > > > > > I would really appreciate an help! Tnx very much! > > Alessandra > > > _______________________________________________ > clam-devel mailing list > clam-devel@lists.clam-project.org > http://lists.clam-project.org/listinfo.cgi/clam-devel-clam-project.org _______________________________________________ clam-devel mailing list clam-devel@lists.clam-project.org http://lists.clam-project.org/listinfo.cgi/clam-devel-clam-project.org