If you've got functions defined in the body of the headers outside the class { 
}; braces, make sure they're declared 'inline' ?

-Ben


On Oct 31, 2014, at 10:56 AM, Lorenzo Zanon <[email protected]> wrote:

> Yes, eim_classes.h, rb_classes.h, and assembly.h all start and end with 
> something like
> 
> #ifndef __eim_classes_h__
> #define __eim_classes_h__
>  ...
> 
> #endif
> 
> There are no other .h files...
> 
> On 10/31/14 4:51 PM, John Peterson wrote:
>> On Fri, Oct 31, 2014 at 9:03 AM, Lorenzo Zanon
>> <[email protected]> wrote:
>>> Hello,
>>> 
>>> Referring to the RB examples, it would be great if I could use a
>>> separate source file in addition to the header rb_classes.h, but I'm
>>> getting a compile error, probably due to wrong local inclusions...
>>> 
>>> That's how I do my inclusions:
>>> 
>>> main file: reduced_basis_ex4.C
>>> #include "eim_classes.h"
>>> #include "rb_classes.h"
>>> #include "assembly.h"
>>> ...
>>> 
>>> header EIM: eim_classes.h
>>> #include "assembly.h"
>>> ...
>>> 
>>> header RB: rb_classes.h
>>> #include "eim_classes.h" (some RB classes need the EIM classes)
>>> #include "assembly.h"
>>> ...
>>> 
>>> new source file: rb_classes.C
>>> #include "eim_classes.h"
>>> #include "rb_classes.h"
>>> ...
>>> 
>>> assembly.h
>>> 
>>> The error I'm getting has the form:
>>> 
>>> reduced_basis_ex4.x86_64-unknown-linux-gnu.opt.o: In function
>>> `SimpleEIMEvaluation::initialize_eim_theta_objects()':
>>> reduced_basis_ex4.C:(.text+0xfe50): multiple definition of
>>> `SimpleEIMEvaluation::initialize_eim_theta_objects()'
>>> rb_classes.x86_64-unknown-linux-gnu.opt.o:rb_classes.C:(.text+0xf790):
>>> first defined here
>>> 
>>> for all the SimpleEIM and SimpleRB functions. How could I fix that?
>> 
>> Make sure all the header files you're using (especially ones you've
>> created) have include guards at the top.
>> 
> 
> 
> ------------------------------------------------------------------------------
> _______________________________________________
> Libmesh-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/libmesh-users


------------------------------------------------------------------------------
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to