Compiling the PythonQt generator on OSX 10.8 with gcc 4.2.1 (Xcode 4.5.2)
Dynamic Python binding for Qt Applications
Brought to you by:
florianlink,
marcusbarann
I have my own build of python 2.7 and Qt 4.7.4 so I'm building the generator. I get a really odd error in parser/rpp/pp-engine-bits.h that makes no sense to me. It's complaining on lines that output a std::string to std::cerr which seems pretty run of the mill. The error is "no definition available". If I change
std::cout << env.current_file << std::endl;
to
std::cout << env.current_file.c_str() << std::endl;
It compiles with no errors or warnings. But this seems like a really strange problem that might be indicating something is seriously messed up?
This is the full error for that one line above(!)
PythonQtRoot jrb$ make
cd generator/ && make -f Makefile
make -f Makefile.Release
g++ -c -pipe -O2 -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5 -Wall -W -DRXX_ALLOCATOR_INIT_0 -DQT_NO_DEBUG -DQT_XML_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../ratnih/installs/Qt-4.7.4/mkspecs/macx-g++ -I. -I../../../ratnih/installs/Qt-4.7.4/include/QtCore -I../../../ratnih/installs/Qt-4.7.4/include/QtXml -I../../../ratnih/installs/Qt-4.7.4/include -I. -I. -I/data/jrb/Downloads/PythonQtRoot/generator/../common -Iparser -Iparser/rpp -Iparser/rpp -Irelease -o release/preprocessor.o parser/rpp/preprocessor.cpp
parser/rpp/pp-engine-bits.h: In member function ‘_InputIterator rpp::pp::handle_include(bool, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]’:
parser/rpp/pp-engine-bits.h:391: instantiated from ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’
parser/rpp/pp-engine-bits.h:391: instantiated from ‘_InputIterator rpp::pp::handle_include(bool, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]’
parser/rpp/pp-engine-bits.h:354: instantiated from ‘_InputIterator rpp::pp::handle_directive(const char, size_t, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]’
parser/rpp/pp-engine-bits.h:502: instantiated from ‘void rpp::pp::operator()(_InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]’
parser/rpp/preprocessor.cpp:104: instantiated from here
parser/rpp/pp-engine-bits.h:391: error: explicit instantiation of ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition available
parser/rpp/pp-engine-bits.h: At global scope:
parser/rpp/pp-engine-bits.h: In instantiation of ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’:
parser/rpp/pp-engine-bits.h:391: instantiated from ‘_InputIterator rpp::pp::handle_include(bool, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]’
parser/rpp/pp-engine-bits.h:354: instantiated from ‘_InputIterator rpp::pp::handle_directive(const char, size_t, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]’
parser/rpp/pp-engine-bits.h:502: instantiated from ‘void rpp::pp::operator()(_InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]’
parser/rpp/preprocessor.cpp:104: instantiated from here
parser/rpp/pp-engine-bits.h:391: error: explicit instantiation of ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition available
parser/rpp/pp-engine-bits.h: In instantiation of ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’:
parser/rpp/pp-engine-bits.h:391: instantiated from ‘_InputIterator rpp::pp::handle_include(bool, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]’
parser/rpp/pp-engine-bits.h:354: instantiated from ‘_InputIterator rpp::pp::handle_directive(const char, size_t, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]’
parser/rpp/pp-engine-bits.h:502: instantiated from ‘void rpp::pp::operator()(_InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]’
parser/rpp/preprocessor.cpp:104: instantiated from here
parser/rpp/pp-engine-bits.h:391: error: explicit instantiation of ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition available
parser/rpp/pp-engine-bits.h: In instantiation of ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’:
parser/rpp/pp-engine-bits.h:391: instantiated from ‘_InputIterator rpp::pp::handle_include(bool, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]’
parser/rpp/pp-engine-bits.h:354: instantiated from ‘_InputIterator rpp::pp::handle_directive(const char, size_t, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]’
parser/rpp/pp-engine-bits.h:502: instantiated from ‘void rpp::pp::operator()(_InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]’
parser/rpp/preprocessor.cpp:104: instantiated from here
parser/rpp/pp-engine-bits.h:391: error: explicit instantiation of ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition available
parser/rpp/pp-engine-bits.h: In instantiation of ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’:
parser/rpp/pp-engine-bits.h:391: instantiated from ‘_InputIterator rpp::pp::handle_include(bool, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]’
parser/rpp/pp-engine-bits.h:354: instantiated from ‘_InputIterator rpp::pp::handle_directive(const char, size_t, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]’
parser/rpp/pp-engine-bits.h:502: instantiated from ‘void rpp::pp::operator()(_InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]’
parser/rpp/preprocessor.cpp:104: instantiated from here
parser/rpp/pp-engine-bits.h:391: error: explicit instantiation of ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition available
make[2]: [release/preprocessor.o] Error 1
make[1]: [release] Error 2
make: ** [sub-generator-make_default-ordered] Error 2
PythonQtRoot jrb$