Hi,
i've spent some (
) time on the problem and i think that the problem is not in the code but in the compiler/linker arguments.
I'm unable to see what's wrong but how
make is calling g++ seems to be the issue.
Here the successfull run in the test folder of project qxBlogCpp11:
- Code: Select all
make -f Makefile.Release
make[1]: ingresso nella directory "/usr/local/QxOrm/test/qxBlogCpp11"
g++ -m64 -pipe -O2 -std=c++0x -Wall -W -D_REENTRANT -fPIC -D_QX_ENABLE_BOOST_SERIALIZATION -D_QX_CPP_11_SMART_PTR -D_QX_CPP_11_CONTAINER -D_QX_CPP_11_TUPLE -D_QX_ENABLE_BOOST_SERIALIZATION_BINARY -D_QX_ENABLE_BOOST_SERIALIZATION_XML -D_QX_MODE_RELEASE -D_BUILDING_QX_BLOG -D_QX_CPP_11_SMART_PTR -D_QX_CPP_11_CONTAINER -D_QX_CPP_11_TUPLE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I. -Iinclude -I../../../../include -I../../../QxOrm/include -I../../../../include/x86_64-linux-gnu/qt5 -I../../../../include/x86_64-linux-gnu/qt5/QtGui -I../../../../include/x86_64-linux-gnu/qt5/QtSql -I../../../../include/x86_64-linux-gnu/qt5/QtCore -Iqt/moc -I../../../../lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -x c++-header -c include/precompiled.h -o release/qxBlogCpp11.gch/c++
g++ -c -include release/qxBlogCpp11 -m64 -pipe -O2 -std=c++0x -Wall -W -D_REENTRANT -fPIC -D_QX_ENABLE_BOOST_SERIALIZATION -D_QX_CPP_11_SMART_PTR -D_QX_CPP_11_CONTAINER -D_QX_CPP_11_TUPLE -D_QX_ENABLE_BOOST_SERIALIZATION_BINARY -D_QX_ENABLE_BOOST_SERIALIZATION_XML -D_QX_MODE_RELEASE -D_BUILDING_QX_BLOG -D_QX_CPP_11_SMART_PTR -D_QX_CPP_11_CONTAINER -D_QX_CPP_11_TUPLE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I. -Iinclude -I../../../../include -I../../../QxOrm/include -I../../../../include/x86_64-linux-gnu/qt5 -I../../../../include/x86_64-linux-gnu/qt5/QtGui -I../../../../include/x86_64-linux-gnu/qt5/QtSql -I../../../../include/x86_64-linux-gnu/qt5/QtCore -Iqt/moc -I../../../../lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o release/author.o src/author.cpp
g++ -c -include release/qxBlogCpp11 -m64 -pipe -O2 -std=c++0x -Wall -W -D_REENTRANT -fPIC -D_QX_ENABLE_BOOST_SERIALIZATION -D_QX_CPP_11_SMART_PTR -D_QX_CPP_11_CONTAINER -D_QX_CPP_11_TUPLE -D_QX_ENABLE_BOOST_SERIALIZATION_BINARY -D_QX_ENABLE_BOOST_SERIALIZATION_XML -D_QX_MODE_RELEASE -D_BUILDING_QX_BLOG -D_QX_CPP_11_SMART_PTR -D_QX_CPP_11_CONTAINER -D_QX_CPP_11_TUPLE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I. -Iinclude -I../../../../include -I../../../QxOrm/include -I../../../../include/x86_64-linux-gnu/qt5 -I../../../../include/x86_64-linux-gnu/qt5/QtGui -I../../../../include/x86_64-linux-gnu/qt5/QtSql -I../../../../include/x86_64-linux-gnu/qt5/QtCore -Iqt/moc -I../../../../lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o release/blog.o src/blog.cpp
g++ -c -include release/qxBlogCpp11 -m64 -pipe -O2 -std=c++0x -Wall -W -D_REENTRANT -fPIC -D_QX_ENABLE_BOOST_SERIALIZATION -D_QX_CPP_11_SMART_PTR -D_QX_CPP_11_CONTAINER -D_QX_CPP_11_TUPLE -D_QX_ENABLE_BOOST_SERIALIZATION_BINARY -D_QX_ENABLE_BOOST_SERIALIZATION_XML -D_QX_MODE_RELEASE -D_BUILDING_QX_BLOG -D_QX_CPP_11_SMART_PTR -D_QX_CPP_11_CONTAINER -D_QX_CPP_11_TUPLE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I. -Iinclude -I../../../../include -I../../../QxOrm/include -I../../../../include/x86_64-linux-gnu/qt5 -I../../../../include/x86_64-linux-gnu/qt5/QtGui -I../../../../include/x86_64-linux-gnu/qt5/QtSql -I../../../../include/x86_64-linux-gnu/qt5/QtCore -Iqt/moc -I../../../../lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o release/category.o src/category.cpp
g++ -c -include release/qxBlogCpp11 -m64 -pipe -O2 -std=c++0x -Wall -W -D_REENTRANT -fPIC -D_QX_ENABLE_BOOST_SERIALIZATION -D_QX_CPP_11_SMART_PTR -D_QX_CPP_11_CONTAINER -D_QX_CPP_11_TUPLE -D_QX_ENABLE_BOOST_SERIALIZATION_BINARY -D_QX_ENABLE_BOOST_SERIALIZATION_XML -D_QX_MODE_RELEASE -D_BUILDING_QX_BLOG -D_QX_CPP_11_SMART_PTR -D_QX_CPP_11_CONTAINER -D_QX_CPP_11_TUPLE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I. -Iinclude -I../../../../include -I../../../QxOrm/include -I../../../../include/x86_64-linux-gnu/qt5 -I../../../../include/x86_64-linux-gnu/qt5/QtGui -I../../../../include/x86_64-linux-gnu/qt5/QtSql -I../../../../include/x86_64-linux-gnu/qt5/QtCore -Iqt/moc -I../../../../lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o release/comment.o src/comment.cpp
g++ -c -include release/qxBlogCpp11 -m64 -pipe -O2 -std=c++0x -Wall -W -D_REENTRANT -fPIC -D_QX_ENABLE_BOOST_SERIALIZATION -D_QX_CPP_11_SMART_PTR -D_QX_CPP_11_CONTAINER -D_QX_CPP_11_TUPLE -D_QX_ENABLE_BOOST_SERIALIZATION_BINARY -D_QX_ENABLE_BOOST_SERIALIZATION_XML -D_QX_MODE_RELEASE -D_BUILDING_QX_BLOG -D_QX_CPP_11_SMART_PTR -D_QX_CPP_11_CONTAINER -D_QX_CPP_11_TUPLE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I. -Iinclude -I../../../../include -I../../../QxOrm/include -I../../../../include/x86_64-linux-gnu/qt5 -I../../../../include/x86_64-linux-gnu/qt5/QtGui -I../../../../include/x86_64-linux-gnu/qt5/QtSql -I../../../../include/x86_64-linux-gnu/qt5/QtCore -Iqt/moc -I../../../../lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o release/main.o src/main.cpp
g++ -m64 -Wl,-O1 -o ../../../QxOrm/test/_bin/qxBlogCpp11 release/author.o release/blog.o release/category.o release/comment.o release/main.o -L/usr/X11R6/lib64 -L -l -L../../../QxOrm/test/_bin -lQxOrm -lQt5Gui -lQt5Sql -lQt5Core -lGL -lpthread -lboost_serialization
This is from a simple project based on the same source built with Netbeans:
- Code: Select all
g++ -m64 -pipe -g -std=c++0x -Wall -W -D_REENTRANT -fPIC -D_QX_ENABLE_BOOST_SERIALIZATION -D_QX_CPP_11_SMART_PTR -D_QX_CPP_11_CONTAINER -D_QX_CPP_11_TUPLE -D_QX_ENABLE_BOOST_SERIALIZATION_BINARY -D_QX_ENABLE_BOOST_SERIALIZATION_XML -D_QX_MODE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SQL_LIB -DQT_CORE_LIB -Inbproject -I. -I/usr/local/qhttp/src -I/usr/local/qhttp/src/private -isystem /usr/include/Qt5GStreamer -IHeaders -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/gstreamer-0.10 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/gstreamer-1.0/include -I./include -isystem /usr/include -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtSql -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Iqt/moc -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -x c++-header -c Headers/GSS/QxOrm/precompiled.h -o debug/qxBlog_GSS.gch/c++
g++ -c -include debug/qxBlog_GSS -m64 -pipe -g -std=c++0x -Wall -W -D_REENTRANT -fPIC -D_QX_ENABLE_BOOST_SERIALIZATION -D_QX_CPP_11_SMART_PTR -D_QX_CPP_11_CONTAINER -D_QX_CPP_11_TUPLE -D_QX_ENABLE_BOOST_SERIALIZATION_BINARY -D_QX_ENABLE_BOOST_SERIALIZATION_XML -D_QX_MODE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SQL_LIB -DQT_CORE_LIB -Inbproject -I. -I/usr/local/qhttp/src -I/usr/local/qhttp/src/private -isystem /usr/include/Qt5GStreamer -IHeaders -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/gstreamer-0.10 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/gstreamer-1.0/include -I./include -isystem /usr/include -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtSql -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Iqt/moc -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o build/Debug/GNU-Linux/author.o src_11/author.cpp
g++ -c -include debug/qxBlog_GSS -m64 -pipe -g -std=c++0x -Wall -W -D_REENTRANT -fPIC -D_QX_ENABLE_BOOST_SERIALIZATION -D_QX_CPP_11_SMART_PTR -D_QX_CPP_11_CONTAINER -D_QX_CPP_11_TUPLE -D_QX_ENABLE_BOOST_SERIALIZATION_BINARY -D_QX_ENABLE_BOOST_SERIALIZATION_XML -D_QX_MODE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SQL_LIB -DQT_CORE_LIB -Inbproject -I. -I/usr/local/qhttp/src -I/usr/local/qhttp/src/private -isystem /usr/include/Qt5GStreamer -IHeaders -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/gstreamer-0.10 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/gstreamer-1.0/include -I./include -isystem /usr/include -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtSql -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Iqt/moc -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o build/Debug/GNU-Linux/blog.o src_11/blog.cpp
g++ -c -include debug/qxBlog_GSS -m64 -pipe -g -std=c++0x -Wall -W -D_REENTRANT -fPIC -D_QX_ENABLE_BOOST_SERIALIZATION -D_QX_CPP_11_SMART_PTR -D_QX_CPP_11_CONTAINER -D_QX_CPP_11_TUPLE -D_QX_ENABLE_BOOST_SERIALIZATION_BINARY -D_QX_ENABLE_BOOST_SERIALIZATION_XML -D_QX_MODE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SQL_LIB -DQT_CORE_LIB -Inbproject -I. -I/usr/local/qhttp/src -I/usr/local/qhttp/src/private -isystem /usr/include/Qt5GStreamer -IHeaders -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/gstreamer-0.10 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/gstreamer-1.0/include -I./include -isystem /usr/include -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtSql -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Iqt/moc -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o build/Debug/GNU-Linux/category.o src_11/category.cpp
g++ -c -include debug/qxBlog_GSS -m64 -pipe -g -std=c++0x -Wall -W -D_REENTRANT -fPIC -D_QX_ENABLE_BOOST_SERIALIZATION -D_QX_CPP_11_SMART_PTR -D_QX_CPP_11_CONTAINER -D_QX_CPP_11_TUPLE -D_QX_ENABLE_BOOST_SERIALIZATION_BINARY -D_QX_ENABLE_BOOST_SERIALIZATION_XML -D_QX_MODE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SQL_LIB -DQT_CORE_LIB -Inbproject -I. -I/usr/local/qhttp/src -I/usr/local/qhttp/src/private -isystem /usr/include/Qt5GStreamer -IHeaders -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/gstreamer-0.10 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/gstreamer-1.0/include -I./include -isystem /usr/include -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtSql -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Iqt/moc -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o build/Debug/GNU-Linux/comment.o src_11/comment.cpp
g++ -c -include debug/qxBlog_GSS -m64 -pipe -g -std=c++0x -Wall -W -D_REENTRANT -fPIC -D_QX_ENABLE_BOOST_SERIALIZATION -D_QX_CPP_11_SMART_PTR -D_QX_CPP_11_CONTAINER -D_QX_CPP_11_TUPLE -D_QX_ENABLE_BOOST_SERIALIZATION_BINARY -D_QX_ENABLE_BOOST_SERIALIZATION_XML -D_QX_MODE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SQL_LIB -DQT_CORE_LIB -Inbproject -I. -I/usr/local/qhttp/src -I/usr/local/qhttp/src/private -isystem /usr/include/Qt5GStreamer -IHeaders -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/gstreamer-0.10 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/gstreamer-1.0/include -I./include -isystem /usr/include -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtSql -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Iqt/moc -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o build/Debug/GNU-Linux/main.o src_11/main.cpp
g++ -m64 -o dist/Debug/GNU-Linux/qxBlog_GSS build/Debug/GNU-Linux/author.o build/Debug/GNU-Linux/blog.o build/Debug/GNU-Linux/category.o build/Debug/GNU-Linux/comment.o build/Debug/GNU-Linux/main.o -L/usr/X11R6/lib64 -Wl,-rpath,/usr/lib /usr/lib/libqhttp.so -lQt5GStreamerUtils-1.0 -lQt5GStreamer-1.0 -lQt5GLib-2.0 /usr/local/lib/libctemplate.a -lgobject-2.0 -lglib-2.0 -lgstreamer-1.0 -lQxOrm -lboost_serialization -L -l -lQt5Widgets -lQt5Gui -lQt5Network -lQt5Sql -lQt5Core -lGL -lpthread
build/Debug/GNU-Linux/blog.o: nella funzione "QByteArray qx::serialization::qt::to_byte_array<author>(author const&, void*, unsigned int)":
/usr/local/include/QxSerialize/QxSerializeQDataStream.h:69: riferimento non definito a "operator<<(QDataStream&, author const&)"
build/Debug/GNU-Linux/blog.o: nella funzione "qx::QxBool qx::serialization::qt::from_byte_array<author>(author&, QByteArray const&, unsigned int)":
/usr/local/include/QxSerialize/QxSerializeQDataStream.h:85: riferimento non definito a "operator>>(QDataStream&, author&)"
build/Debug/GNU-Linux/comment.o: nella funzione "QByteArray qx::serialization::qt::to_byte_array<blog>(blog const&, void*, unsigned int)":
/usr/local/include/QxSerialize/QxSerializeQDataStream.h:69: riferimento non definito a "operator<<(QDataStream&, blog const&)"
build/Debug/GNU-Linux/comment.o: nella funzione "qx::QxBool qx::serialization::qt::from_byte_array<blog>(blog&, QByteArray const&, unsigned int)":
/usr/local/include/QxSerialize/QxSerializeQDataStream.h:85: riferimento non definito a "operator>>(QDataStream&, blog&)"
collect2: error: ld returned 1 exit status
Can someone see what's causing the problem in the second process?