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

Reply via email to