[Rcpp-devel] Using Rcpp on mingw 4.5.2

Steffen Neumann sneumann at ipb-halle.de
Sat Jan 8 00:41:20 CET 2011


Hi,

I have a package mzR that uses Rcpp to wrap
some C++ code at https://github.com/sneumann/mzR

The stuff works splendid on Ubuntu 10.04 with gcc-4.4.3,
but for the life of it I am unable to get it to compile 
on 64bit Windows with a recent R-2.13.x snapshot (also tried 2.12.x)
with neither the Rtools based on mingw-4.5.1 nor those downloaded today 
with mingw-4.5.2. Rcpp is 0.9.0 but I also failed with earlier versions.

The compile command for (one of) my files https://github.com/sneumann/mzR/blob/master/src/RcppRamp.cpp is:

x86_64-w64-mingw32-g++ -I"C:/PROGRA~1/R/R-213~1.0DE/include" -D_LARGEFILE_SOURCE -I./boost_aux/ -I. -DHAVE_PWIZ_MZML_LIB -IC:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include   -I"C:\Users\sneumann\Documents/R/win-library/2.13/Rcpp/include"      -O2 -Wall  -c RcppRamp.cpp -o RcppRamp.o

and it barks with about 8000 lines (!) of errors, 
so I'll only give some examples at the end of my mail.

RcppExamples works fine on my windows. I am clueless, 
since my C++ days are from earlier this century, 
and my package with Rcpp works fine on Linux. 

Any hints what to look out for ? Is it a compiler issue ?
Or a "problem-sitting-in-front-of-the-keyboard" type ?
I guess there is only one little misconception I have...

Nevertheless a happy new year, 
Thanks in advance, 
Yours,
Steffen



x86_64-w64-mingw32-g++ -I"C:/PROGRA~1/R/R-213~1.0DE/include" -D_LARGEFILE_SOURCE -I./boost_aux/ -I. -DHAVE_PWIZ_MZML_LIB -IC:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include   -I"C:\Users\sneumann\Documents/R/win-library/2.13/Rcpp/include"      -O2 -Wall  -c RcppRamp.cpp -o RcppRamp.o

In file included from C:/PROGRA~1/R/R-213~1.0DE/include/R.h:44:0,
                 from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/RcppCommon.h:124,
                 from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp.h:27,
                 from RcppRamp.hpp:5,
                 from RcppRamp.cpp:1:
C:/PROGRA~1/R/R-213~1.0DE/include/R_ext/RS.h:43:0: warning: "ERROR" redefined
c:/rtools/mingw64/lib/gcc/../../x86_64-w64-mingw32/include/wingdi.h:63:0: note: this is the location of the previous definition
In file included from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Environment.h:29:0,
                 from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp.h:39,
                 from RcppRamp.hpp:5,
                 from RcppRamp.cpp:1:
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Language.h:150:14: error: 'result_type' does not name a type
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Language.h:155:17: error: ISO C++ forbids declaration of 'operator()' with no type
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Language.h: In member function 'int Rcpp::fixed_call< <template-parameter-1-1> >::operator()()':
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Language.h:156:31: error: no matching function for call to 'as(SEXPREC*&)'
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Language.h: At global scope:
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Language.h:164:52: error: template argument 2 is invalid
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Language.h:170:34: error: ISO C++ forbids declaration of 'operator()' with no type
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Language.h: In member function 'int Rcpp::unary_call<T, <template-parameter-1-2> >::operator()(const T&)':
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Language.h:172:31: error: no matching function for call to 'as(SEXPREC*&)'
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Language.h: At global scope:
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Language.h:181:58: error: template argument 3 is invalid
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Language.h:187:45: error: ISO C++ forbids declaration of 'operator()' with no type
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Language.h: In member function 'int Rcpp::binary_call<T1, T2, <template-parameter-1-3> >::operator()(const T1&, const T2&)':
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Language.h:190:31: error: no matching function for call to 'as(SEXPREC*&)'

...

In file included from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Module.h:48:0,
                 from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp.h:62,
                 from RcppRamp.hpp:5,
                 from RcppRamp.cpp:1:
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_get_signature.h: In function 'void Rcpp::signature(std::string&, const char*)':
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_get_signature.h:28:31: error: no matching function for call to 'get_return_type()'
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_get_signature.h: In function 'void Rcpp::signature(std::string&, const char*)':
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_get_signature.h:38:31: error: no matching function for call to 'get_return_type()'
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_get_signature.h: In function 'void Rcpp::signature(std::string&, const char*)':
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_get_signature.h:51:31: error: no matching function for call to 'get_return_type()'



....


In file included from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Module.h:51:0,
                 from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp.h:62,
                 from RcppRamp.hpp:5,
                 from RcppRamp.cpp:1:
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_CppFunction.h: At global scope:
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_CppFunction.h:28:32: error: expected ')' before ',' token
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_CppFunction.h:37:22: error: ISO C++ forbids declaration of 'ptr_fun' with no type
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_CppFunction.h: In member function 'void Rcpp::CppFunction0< <template-parameter-1-1> >::signature(std::string&, const char*)':
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_CppFunction.h:34:88: error: no matching function for call to 'signature(std::string&, const char*&)'



...


In file included from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Module.h:51:0,
                 from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp.h:62,
                 from RcppRamp.hpp:5,
                 from RcppRamp.cpp:1:
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_CppFunction.h:1829:116: error: ISO C++ forbids declaration of 'ptr_fun' with no type
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_CppFunction.h: In member function 'void Rcpp::CppFunction_WithFormals22< <template-parameter-1-1>, U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16, U17, U18, U19, U20, U21>::signature(std::string&, const char*)':
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_CppFunction.h:1824:66: error: parse error in template argument list
In file included from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Module.h:51:0,
                 from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp.h:62,
                 from RcppRamp.hpp:5,
                 from RcppRamp.cpp:1:
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_CppFunction.h: At global scope:
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_CppFunction.h:1859:133: error: expected ')' before ',' token
In file included from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Module.h:51:0,
                 from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp.h:62,
                 from RcppRamp.hpp:5,
                 from RcppRamp.cpp:1:
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_CppFunction.h:1869:121: error: ISO C++ forbids declaration of 'ptr_fun' with no type



...



In file included from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Module.h:486:0,
                 from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp.h:62,
                 from RcppRamp.hpp:5,
                 from RcppRamp.cpp:1:
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:65:48: error: expected identifier before '(' token
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:71:45: error: expected identifier before '(' token
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:80:39: error: expected identifier before '(' token
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:86:39: error: expected identifier before '(' token
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:92:48: error: expected identifier before '(' token
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:98:45: error: expected identifier before '(' token
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:107:39: error: expected identifier before '(' token
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:113:39: error: expected identifier before '(' token
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:119:48: error: expected identifier before '(' token
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:125:45: error: expected identifier before '(' token
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:134:39: error: expected identifier before '(' token
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:140:39: error: expected identifier before '(' token
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:146:48: error: expected identifier before '(' token
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:152:45: error: expected identifier before '(' token
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:161:39: error: expected identifier before '(' token
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:167:39: error: expected identifier before '(' token
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:173:48: error: expected identifier before '(' token
...

In file included from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Module.h:486:0,
                 from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp.h:62,
                 from RcppRamp.hpp:5,
                 from RcppRamp.cpp:1:
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h: In member function 'Rcpp::class_<Class>::self& Rcpp::class_<Class>::method(const char*, int (Class::*)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16)const, const char*, bool (*)(SEXPREC**, int))':
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:492:126: error: template argument 2 is invalid
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h: In member function 'Rcpp::class_<Class>::self& Rcpp::class_<Class>::nonconst_method(const char*, int (Class::*)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16), const char*, bool (*)(SEXPREC**, int))':
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:498:120: error: template argument 2 is invalid
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h: In member function 'Rcpp::class_<Class>::self& Rcpp::class_<Class>::const_method(const char*, int (Class::*)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16)const, const char*, bool (*)(SEXPREC**, int))':
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:504:126: error: template argument 2 is invalid
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h: In member function 'Rcpp::class_<Class>::self& Rcpp::class_<Class>::method(const char*, int (Class::*)(U0, U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16, U17), const char*, bool (*)(SEXPREC**, int))':
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_method.h:513:125: error: template argument 2 is invalid



...



In file included from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/Module.h:487:0,
                 from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp.h:62,
                 from RcppRamp.hpp:5,
                 from RcppRamp.cpp:1:
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_Pointer_method.h: In member function 'Rcpp::class_<Class>::self& Rc
pp::class_<Class>::method(const char*, int (*)(Class*, U0, U1), const char*, bool (*)(SEXPREC**, int))':
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_Pointer_method.h:46:60: error: template argument 2 is invalid
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_Pointer_method.h: In member function 'Rcpp::class_<Class>::self& Rcpp::class_<Class>::method(const char*, int (*)(Class*, U0, U1, U2), const char*, bool (*)(SEXPREC**, int))':
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_Pointer_method.h:56:64: error: template argument 2 is invalid
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_Pointer_method.h: In member function 'Rcpp::class_<Class>::self& Rcpp::class_<Class>::method(const char*, int (*)(Class*, U0, U1, U2, U3), const char*, bool (*)(SEXPREC**, int))':
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_Pointer_method.h:66:68: error: template argument 2 is invalid
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_Pointer_method.h: In member function 'Rcpp::class_<Class>::self& Rcpp::class_<Class>::method(const char*, int (*)(Class*, U0, U1, U2, U3, U4), const char*, bool (*)(SEXPREC**, int))':
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_Pointer_method.h:76:72: error: template argument 2 is invalid
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_Pointer_method.h: In member function 'Rcpp::class_<Class>::self& Rcpp::class_<Class>::method(const char*, int (*)(Class*, U0, U1, U2, U3, U4, U5), const char*, bool (*)(SEXPREC**, int))':
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_Pointer_method.h:86:76: error: template argument 2 is invalid
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_Pointer_method.h: In member function 'Rcpp::class_<Class>::self& Rcpp::class_<Class>::method(const char*, int (*)(Class*, U0, U1, U2, U3, U4, U5, U6), const char*, bool (*)(SEXPREC**, int))':
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/module/Module_generated_Pointer_method.h:96:80: error: template argument 2 is invalid


...

In file included from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/InternalFunction.h:38:0,
                 from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp.h:63,
                 from RcppRamp.hpp:5,
                 from RcppRamp.cpp:1:
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/generated/InternalFunction__ctors.h:92:89: error: expected initializer before ':' token
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/generated/InternalFunction__ctors.h:100:96: error: expected initializer before ':' token
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/generated/InternalFunction__ctors.h:108:103: error: expected initializer before ':' token
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/generated/InternalFunction__ctors.h:116:112: error: expected initializer before ':' token




...

In file included from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/sugar/functions/functions.h:30:0,
                 from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/sugar/sugar.h:28,
                 from C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp.h:68,
                 from RcppRamp.hpp:5,
                 from RcppRamp.cpp:1:
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/sugar/functions/math.h: In function 'Rcpp::sugar::SugarMath_1<NA, double, double, T, double (*)(double)> Rcpp::acos(const Rcpp::VectorBase<14, NA, T>&) [with bool NA = true, T = Rcpp::Vector<14>]':
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/sugar/functions/math.h:25:1:   instantiated from here
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/sugar/functions/math.h:25:1: error: no matching function for call to 'Rcpp::sugar::SugarMath_1<true, double, double, Rcpp::Vector<14>, double (*)(double)>::SugarMath_1(double (*)(double), const Rcpp::VectorBase<14, true, Rcpp::Vector<14> >&)'
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/sugar/block/SugarMath.h:38:2: note: candidates are: Rcpp::sugar::SugarMath_1<NA, <template-parameter-1-2>, U1, T1, FunPtr>::SugarMath_1(FunPtr, const Rcpp::sugar::SugarMath_1::VEC_TYPE&) [with bool NA = true, <template-parameter-1-2> = double, U1 = double, T1 = Rcpp::Vector<14>, FunPtr = double (*)(double), Rcpp::sugar::SugarMath_1::VEC_TYPE = int]
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/sugar/block/SugarMath.h:33:4: note:                 Rcpp::sugar::SugarMath_1<true, double, double, Rcpp::Vector<14>, double (*)(double)>::SugarMath_1(const Rcpp::sugar::SugarMath_1<true, double, double, Rcpp::Vector<14>, double (*)(double)>&)
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/sugar/functions/math.h: In function 'Rcpp::sugar::SugarMath_1<NA, double, double, T, double (*)(double)> Rcpp::asin(const Rcpp::VectorBase<14, NA, T>&) [with bool NA = true, T = Rcpp::Vector<14>]':
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/sugar/functions/math.h:26:1:   instantiated from here
C:/Users/sneumann/Documents/R/win-library/2.13/Rcpp/include/Rcpp/sugar/functions/math.h:26:1: error: no matching function for call to 'Rcpp::sugar::SugarMath_1<true, double, double, Rcpp::Vector<14>, double (*)(double)>::SugarMath_1(double (*)(double), const Rcpp::VectorBase<14, true, Rcpp::Vector<14> >&)'



...









-- 
IPB Halle                    AG Massenspektrometrie & Bioinformatik
Dr. Steffen Neumann          http://www.IPB-Halle.DE
Weinberg 3                   http://msbi.bic-gh.de
06120 Halle                  Tel. +49 (0) 345 5582 - 1470
                                  +49 (0) 345 5582 - 0
sneumann(at)IPB-Halle.DE     Fax. +49 (0) 345 5582 - 1409



More information about the Rcpp-devel mailing list