Welcome in macro hell.

Try this:

#include <gretl/libgretl.h>
#include <gretl/kalman.h>

#undef PARENT
#include <Rcpp.h>

So one of these headers is defining a macro "PARENT" that conflicts with the name PARENT used in any.h. This should take care of it.

Romain

Le 20/12/12 00:56, jea...@hushmail.com a écrit :
thanks for the quick reply!

first option did not change anything and second option seems to create
new errors linked to Rcpp:

jean@desktop:~/Documents/code experiments/gretl$ make

PKG_CPPFLAGS="-I/usr/share/R/include -I/usr/lib/R/library/Rcpp/include
-I/usr/include/libxml2 -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include  " PKG_LIBS="-L/usr/lib64/R/lib -lR
-L/usr/lib/R/library/Rcpp/lib -lRcpp
-Wl,-rpath,/usr/lib/R/library/Rcpp/lib -fopenmp -lgretl-1.0 -lxml2
-lfftw3 -lm -lglib-2.0  " R CMD SHLIB test2.cpp

make[1]: Entering directory `/home/jean/Documents/code experiments/gretl'

g++ -I/usr/share/R/include -DNDEBUG -I/usr/share/R/include
-I/usr/lib/R/library/Rcpp/include -I/usr/include/libxml2
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include       -fpic  -O3
-pipe  -g  -c test2.cpp -o test2.o
In file included from
/usr/lib/R/library/Rcpp/include/Rcpp/sugar/functions/functions.h:34,
                  from
/usr/lib/R/library/Rcpp/include/Rcpp/sugar/sugar.h:30,
                  from /usr/lib/R/library/Rcpp/include/Rcpp.h:68,
                  from test2.cpp:4:
/usr/lib/R/library/Rcpp/include/Rcpp/sugar/functions/any.h:33:36: error:
macro "PARENT" requires 2 arguments, but only 1 given
/usr/lib/R/library/Rcpp/include/Rcpp/sugar/functions/any.h:62:36: error:
macro "PARENT" requires 2 arguments, but only 1 given
In file included from
/usr/lib/R/library/Rcpp/include/Rcpp/sugar/functions/functions.h:35,
                  from
/usr/lib/R/library/Rcpp/include/Rcpp/sugar/sugar.h:30,
                  from /usr/lib/R/library/Rcpp/include/Rcpp.h:68,
                  from test2.cpp:4:
/usr/lib/R/library/Rcpp/include/Rcpp/sugar/functions/all.h:33:36: error:
macro "PARENT" requires 2 arguments, but only 1 given
/usr/lib/R/library/Rcpp/include/Rcpp/sugar/functions/all.h:64:36: error:
macro "PARENT" requires 2 arguments, but only 1 given
In file included from
/usr/lib/R/library/Rcpp/include/Rcpp/sugar/functions/functions.h:34,
                  from
/usr/lib/R/library/Rcpp/include/Rcpp/sugar/sugar.h:30,
                  from /usr/lib/R/library/Rcpp/include/Rcpp.h:68,
                  from test2.cpp:4:
/usr/lib/R/library/Rcpp/include/Rcpp/sugar/functions/any.h: In
constructor ‘Rcpp::sugar::Any<NA, T>::Any(const Rcpp::VectorBase<10,
LHS_NA, LHS_T>&)’:
/usr/lib/R/library/Rcpp/include/Rcpp/sugar/functions/any.h:33: error:
expected ‘(’ before ‘,’ token
/usr/lib/R/library/Rcpp/include/Rcpp/sugar/functions/any.h: In
constructor ‘Rcpp::sugar::Any<false, T>::Any(const Rcpp::VectorBase<10,
false, LHS_T>&)’:
/usr/lib/R/library/Rcpp/include/Rcpp/sugar/functions/any.h:62: error:
expected ‘(’ before ‘,’ token
In file included from
/usr/lib/R/library/Rcpp/include/Rcpp/sugar/functions/functions.h:35,
                  from
/usr/lib/R/library/Rcpp/include/Rcpp/sugar/sugar.h:30,
                  from /usr/lib/R/library/Rcpp/include/Rcpp.h:68,
                  from test2.cpp:4:
/usr/lib/R/library/Rcpp/include/Rcpp/sugar/functions/all.h: In
constructor ‘Rcpp::sugar::All<NA, T>::All(const Rcpp::VectorBase<10,
LHS_NA, LHS_T>&)’:
/usr/lib/R/library/Rcpp/include/Rcpp/sugar/functions/all.h:33: error:
expected ‘(’ before ‘,’ token
/usr/lib/R/library/Rcpp/include/Rcpp/sugar/functions/all.h: In
constructor ‘Rcpp::sugar::All<false, T>::All(const Rcpp::VectorBase<10,
false, LHS_T>&)’:
/usr/lib/R/library/Rcpp/include/Rcpp/sugar/functions/all.h:64: error:
expected ‘(’ before ‘,’ token


On Thursday, December 20, 2012 at 12:48 AM, "Romain Francois"
<rom...@r-enthusiasts.com> wrote:

    The extern "C" looks suspicious. What happens if you don't include it ?

    e.g.

    #include <Rcpp.h>
    #include <gretl/libgretl.h>
    #include <gretl/kalman.h>

    or perhaps:

    #include <gretl/libgretl.h>
    #include <gretl/kalman.h>
    #include <Rcpp.h>

    Romain

    Le 20/12/12 00:39, jea...@hushmail.com a écrit :
    > Hi,
    >
    > I am having trouble getting Rcpp to compile c++ files including headers
    > from the gretl statistical libraries
    >
    > for instance, here are the first lines of a test cpp file I have been
    > trying to compile:
    >
    > #include <Rcpp.h>
    >
    > extern "C" {
    > #include <gretl/libgretl.h>
    > #include <gretl/kalman.h>
    > }
    >
    > now, here is the result of a make command in linux (debian), with the
    > error messages focussing on the lines of code where the #include are
    > located:
    >
    > jean@desktop:~/Documents/code experiments/gretl$ make
    >
    > PKG_CPPFLAGS="-I/usr/share/R/include -I/usr/lib/R/library/Rcpp/include
    > -I/usr/include/libxml2 -I/usr/include/glib-2.0
    > -I/usr/lib/glib-2.0/include  " PKG_LIBS="-L/usr/lib64/R/lib -lR
    > -L/usr/lib/R/library/Rcpp/lib -lRcpp
    > -Wl,-rpath,/usr/lib/R/library/Rcpp/lib -fopenmp -lgretl-1.0 -lxml2
    > -lfftw3 -lm -lglib-2.0  " R CMD SHLIB test2.cpp
    >
    > make[1]: Entering directory `/home/jean/Documents/code experiments/gretl'
    >
    > g++ -I/usr/share/R/include -DNDEBUG -I/usr/share/R/include
    > -I/usr/lib/R/library/Rcpp/include -I/usr/include/libxml2
    > -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include       -fpic  -O3
    > -pipe  -g  -c test2.cpp -o test2.o
    >
    > In file included from /usr/include/gretl/libgretl.h:384,
    >                   from test2.cpp:4:
    > /usr/include/gretl/genmain.h:33: error: expected identifier before
    > numeric constant
    > /usr/include/gretl/genmain.h:33: error: expected ‘}’ before numeric 
constant
    > /usr/include/gretl/genmain.h:33: error: expected unqualified-id before
    > numeric constant
    > /usr/include/gretl/genmain.h:49: error: expected constructor,
    > destructor, or type conversion before ‘;’ token
    > /usr/include/gretl/genmain.h:59: error: ‘R_MAX’ was not declared in this
    > scope
    > test2.cpp:6: error: expected declaration before ‘}’ token
    > make[1]: *** [test2.o] Error 1
    > make[1]: Leaving directory `/home/jean/Documents/code experiments/gretl'
    > make: *** [test2.o] Error 1
    >
    > any guidance would be really appreciated!
    >
    > many thanks,
    > jean
    >
    >
    > _______________________________________________
    > Rcpp-devel mailing list
    > Rcpp-devel@lists.r-forge.r-project.org
    >https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
    >


    --
    Romain Francois
    Professional R Enthusiast
    +33(0) 6 28 91 30 30

    R Graph Gallery: http://gallery.r-enthusiasts.com

    blog: http://romainfrancois.blog.free.fr
    |- http://bit.ly/RE6sYH : OOP with Rcpp modules
    `- http://bit.ly/Thw7IK : Rcpp modules more flexible



--
Romain Francois
Professional R Enthusiast
+33(0) 6 28 91 30 30

R Graph Gallery: http://gallery.r-enthusiasts.com

blog:            http://romainfrancois.blog.free.fr
|- http://bit.ly/RE6sYH : OOP with Rcpp modules
`- http://bit.ly/Thw7IK : Rcpp modules more flexible

_______________________________________________
Rcpp-devel mailing list
Rcpp-devel@lists.r-forge.r-project.org
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

Reply via email to