Bonjour,
Lors de la compilation sous une plateforme Linux Gentoo x86_64 avec GNU de QxOrm 1.1.5, le résultat est le suivant :
make -j5
/usr/bin/moc -D_QX_BUILDING_QX_ORM -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4 -Iinclude -I/usr/include -Iqt/moc include/QxService/QxThread.h -o qt/moc/moc_QxThread.cpp
/usr/bin/moc -D_QX_BUILDING_QX_ORM -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4 -Iinclude -I/usr/include -Iqt/moc include/QxService/QxThreadPool.h -o qt/moc/moc_QxThreadPool.cpp
x86_64-pc-linux-gnu-g++ -pipe -march=nocona -O2 -pipe -Wall -W -D_REENTRANT -fPIC -D_QX_BUILDING_QX_ORM -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4 -Iinclude -I/usr/include -Iqt/moc -x c++-header -c include/QxPrecompiled.h -o QxOrm.gch/c++
x86_64-pc-linux-gnu-g++ -c -include QxOrm -pipe -march=nocona -O2 -pipe -Wall -W -D_REENTRANT -fPIC -D_QX_BUILDING_QX_ORM -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4 -Iinclude -I/usr/include -Iqt/moc -o bool_array.o src/QxMemLeak/bool_array.cpp
x86_64-pc-linux-gnu-g++ -c -include QxOrm -pipe -march=nocona -O2 -pipe -Wall -W -D_REENTRANT -fPIC -D_QX_BUILDING_QX_ORM -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4 -Iinclude -I/usr/include -Iqt/moc -o debug_new.o src/QxMemLeak/debug_new.cpp
x86_64-pc-linux-gnu-g++ -c -include QxOrm -pipe -march=nocona -O2 -pipe -Wall -W -D_REENTRANT -fPIC -D_QX_BUILDING_QX_ORM -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4 -Iinclude -I/usr/include -Iqt/moc -o mem_pool_base.o src/QxMemLeak/mem_pool_base.cpp
x86_64-pc-linux-gnu-g++ -c -include QxOrm -pipe -march=nocona -O2 -pipe -Wall -W -D_REENTRANT -fPIC -D_QX_BUILDING_QX_ORM -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4 -Iinclude -I/usr/include -Iqt/moc -o static_mem_pool.o src/QxMemLeak/static_mem_pool.cpp
x86_64-pc-linux-gnu-g++ -c -include QxOrm -pipe -march=nocona -O2 -pipe -Wall -W -D_REENTRANT -fPIC -D_QX_BUILDING_QX_ORM -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4 -Iinclude -I/usr/include -Iqt/moc -o IxSingleton.o src/QxSingleton/IxSingleton.cpp
cc1plus: error: QxOrm: No such file or directorycc1plus:
cc1plus: error: error: one or more PCH files were found, but they were invalidQxOrm: No such file or directory
cc1plus: cc1plus: error: error: use -Winvalid-pch for more information
one or more PCH files were found, but they were invalid
cc1plus: error: use -Winvalid-pch for more information
make: *** [bool_array.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [mem_pool_base.o] Error 1
cc1plus: error: QxOrm: No such file or directory
cc1plus: error: one or more PCH files were found, but they were invalid
cc1plus: error: use -Winvalid-pch for more information
cc1plus: error: QxOrm: No such file or directory
cc1plus: error: one or more PCH files were found, but they were invalid
cc1plus: error: use -Winvalid-pch for more information
cc1plus: error: QxOrm: No such file or directory
cc1plus: error: one or more PCH files were found, but they were invalid
cc1plus: error: use -Winvalid-pch for more information
make: *** [debug_new.o] Error 1
make: *** [static_mem_pool.o] Error 1
make: *** [IxSingleton.o] Error 1
Est-il nécessaire d'avoir l'option de compilation "-include QxOrm"? Si je supprime cette option dans le Makefile généré par qmake, alors la compilation se déroulement. Ensuite il y a un problème de dépendance avec QtGui.
Suite à l'installation de QtGui le problème reste présent. le problème apparait sur deux machines, mais pas sur la troisième. Toutes les machines sont de type x86_64.
Qu'elle peut être la source de ce problème ?
Après avoir supprimé l'option "-include QxOrm", le système affiche ce résultat :
x86_64-pc-linux-gnu-g++ -c -pipe -march=nocona -O2 -pipe -Wall -W -D_REENTRANT -fPIC -D_QX_BUILDING_QX_ORM -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4 -Iinclude -I/usr/include -Iqt/moc -o moc_QxThread.o qt/moc/moc_QxThread.cpp
In file included from include/QxSerialize/QxSerializeFastCompil.h:35,
from include/QxSerialize/Qt/QxSerialize_QString.h:42,
from include/QxCommon/QxBool.h:36,
from include/QxService/QxTransaction.h:35,
from qt/moc/../../include/QxService/QxThread.h:35,
from qt/moc/moc_QxThread.cpp:10:
include/QxSerialize/boost/QxSerializeInclude.h:92:62: error: boost/archive/impl/archive_pointer_oserializer.ipp: No such file or directory
include/QxSerialize/boost/QxSerializeInclude.h:93:62: error: boost/archive/impl/archive_pointer_iserializer.ipp: No such file or directory
x86_64-pc-linux-gnu-g++ -c -pipe -march=nocona -O2 -pipe -Wall -W -D_REENTRANT -fPIC -D_QX_BUILDING_QX_ORM -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4 -Iinclude -I/usr/include -Iqt/moc -o moc_QxThreadPool.o qt/moc/moc_QxThreadPool.cpp
In file included from include/QxSerialize/QxSerializeFastCompil.h:35,
from include/QxSerialize/Qt/QxSerialize_QString.h:42,
from include/QxCommon/QxBool.h:36,
from include/QxService/QxTransaction.h:35,
from qt/moc/../../include/QxService/QxThreadPool.h:35,
from qt/moc/moc_QxThreadPool.cpp:10:
include/QxSerialize/boost/QxSerializeInclude.h:92:62: error: boost/archive/impl/archive_pointer_oserializer.ipp: No such file or directory
include/QxSerialize/boost/QxSerializeInclude.h:93:62: error: boost/archive/impl/archive_pointer_iserializer.ipp: No such file or directory
In file included from include/QxTraits/get_base_class.h:37,
from include/QxSerialize/boost/QxExportDllMacroHpp.h:37,
from include/QxSerialize/QxSerializeFastCompil.h:36,
from include/QxSerialize/Qt/QxSerialize_QString.h:42,
from include/QxCommon/QxBool.h:36,
from include/QxService/QxTransaction.h:35,
from qt/moc/../../include/QxService/QxThread.h:35,
from qt/moc/moc_QxThread.cpp:10:
include/QxTraits/get_class_name.h: In static member function 'static const char* qx::trait::get_class_name<T>::get()':
include/QxTraits/get_class_name.h:99: error: there are no arguments to 'qAssert' that depend on a template parameter, so a declaration of 'qAssert' must be available
include/QxTraits/get_class_name.h:99: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
In file included from include/QxSerialize/QxSerializeFastCompil.h:38,
from include/QxSerialize/Qt/QxSerialize_QString.h:42,
from include/QxCommon/QxBool.h:36,
from include/QxService/QxTransaction.h:35,
from qt/moc/../../include/QxService/QxThread.h:35,
from qt/moc/moc_QxThread.cpp:10:
include/QxSerialize/boost/QxImportDllBoostArchive.h: At global scope:
include/QxSerialize/boost/QxImportDllBoostArchive.h:52: error: expected constructor, destructor, or type conversion before '(' token
make: *** [moc_QxThread.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from include/QxTraits/get_base_class.h:37,
from include/QxSerialize/boost/QxExportDllMacroHpp.h:37,
from include/QxSerialize/QxSerializeFastCompil.h:36,
from include/QxSerialize/Qt/QxSerialize_QString.h:42,
from include/QxCommon/QxBool.h:36,
from include/QxService/QxTransaction.h:35,
from qt/moc/../../include/QxService/QxThreadPool.h:35,
from qt/moc/moc_QxThreadPool.cpp:10:
include/QxTraits/get_class_name.h: In static member function 'static const char* qx::trait::get_class_name<T>::get()':
include/QxTraits/get_class_name.h:99: error: there are no arguments to 'qAssert' that depend on a template parameter, so a declaration of 'qAssert' must be available
include/QxTraits/get_class_name.h:99: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
In file included from include/QxSerialize/QxSerializeFastCompil.h:38,
from include/QxSerialize/Qt/QxSerialize_QString.h:42,
from include/QxCommon/QxBool.h:36,
from include/QxService/QxTransaction.h:35,
from qt/moc/../../include/QxService/QxThreadPool.h:35,
from qt/moc/moc_QxThreadPool.cpp:10:
include/QxSerialize/boost/QxImportDllBoostArchive.h: At global scope:
include/QxSerialize/boost/QxImportDllBoostArchive.h:52: error: expected constructor, destructor, or type conversion before '(' token
make: *** [moc_QxThreadPool.o] Error 1
La libraire Boost installée est la version 1.45, avec BOOST_VERSION = 104100.
Toutes les machines utilisent le même compilateur, même version.
Une idée sur la cause du problème ?
Partager