
Je fait un peu d'assembleur pour mon projet de fin de DUT, et j'ai tiqué sur pikdev, qu'a l'air vachement bien foutu ...
Evidemment, si je suis là, c'est pas pour vous dire que tout va bien dans le pays des bisounours ... en effet, Pikdev est développé pour Kde3/Qt3. Et en plus, il a un script d'installation bizarre (vous pouvez en savoir plus sur la page de l'auteur ...) qui n'utilise pas le triptique configure/make/make install.
Extrait de ./src/build_pikdev, la partie qui m'interresse
Code : Tout sélectionner
# Meaning of used symbols:
#
# KDEINC : where the kde headers are (.h files)
# QTINC : where the qt3 headers are (.h files)
# COMPILER : the (path and) name of your c++ compiler
# LINKER: the path and name of your linker
# COMPILEROPTS: the compiler option for non GUI sources ( .cc files)
# "non GUI" means that the code does not use KDE nor Qt
# GUICOMPILEROPTS: the compiler option for GUI sources ( .cpp files)
# LINKEROPTS : options for linking non GUI code (ie: pkp)
# GUILINKEROPTS : options for linking GUI code (ie: pikdev)
# these options must include the libs, and path to these libs
#
# ---------------------------------------------------------------------------
# Change the target variable according to your current config
#target="debian_kde3x"
target="archlinux"
case $target in
debian_kde3x)
KDEINC="-I/usr/include/kde"
QTINC="-I/usr/share/qt3/include"
COMPILER="g++"
LINKER="g++"
MOC="moc"
COMPILEROPTS="-c -O2 -Wall -I."
GUICOMPILEROPTS="-c -O2 -Wall -I. -I.. $KDEINC $QTINC"
LINKEROPTS="-lstdc++"
GUILINKEROPTS="-L/usr/lib -L/usr/share/qt3/lib -L/usr/lib/kde3 -lktexteditor -lkdeprint -lkio -lkutils -lkparts -lkhtml -lkdeui -lstdc++ "
;;
archlinux)
# edit this section to fit your target system
#KDEINC="-I/usr/include/kde"
KDEINC="-I/usr/include"
QTINC="-I/opt/qt/include"
COMPILER="g++"
LINKER="g++"
MOC="moc"
COMPILEROPTS="-c -O2 -Wall -I."
GUICOMPILEROPTS="-c -O2 -Wall -I. -I.. $KDEINC $QTINC"
LINKEROPTS="-lstdc++"
#GUILINKEROPTS="-L/usr/lib -L/usr/share/qt3/lib -L/usr/lib/kde3 -lktexteditor -lkdeprint -lkio -lkutils -lkparts -lkhtml -lkdeui -lstdc++"
GUILINKEROPTS="-L/usr/lib -L/opt/qt/lib -L/opt/kde/lib -lktexteditor -lkdeprint -lkio -lkutils -lkparts -lkhtml -lkdeui -lstdc++"
;;
D'après le script, il se passe ca :
Code : Tout sélectionner
echo "*** Meta model extraction/compilation ***"
for file in ${MOCSRC[@]}
do
outcpp="`basename $file .h`.moc.cpp"
outobj="`basename $file .h`.moc.o"
docmd "$MOC -o $outcpp $file"
docmd "$COMPILER $GUICOMPILEROPTS $outcpp"
MOCOBJ[${#MOCOBJ[@]}]=$outobj
done
Code : Tout sélectionner
*** Meta model extraction/compilation ***
moc -o AsmConfigWidget.moc.cpp AsmConfigWidget.h
moc: Cannot create AsmConfigWidget.moc.cpp
g++ -c -O2 -Wall -I. -I.. -I/usr/include -I/opt/qt/include AsmConfigWidget.moc.cpp
AsmConfigWidget.moc.cpp:12:2: erreur: #error "The header file 'AsmConfigWidget.h' doesn't include <QObject>."
AsmConfigWidget.moc.cpp:19:1: erreur: ‘QT_BEGIN_MOC_NAMESPACE’ does not name a type
AsmConfigWidget.moc.cpp:43:36: erreur: ‘const QMetaObject AsmConfigWidget::staticMetaObject’ is not a static member of ‘class AsmConfigWidget’
AsmConfigWidget.moc.cpp:43:36: erreur: variable ‘const QMetaObject AsmConfigWidget::staticMetaObject’ has initializer but incomplete type
AsmConfigWidget.moc.cpp:45:7: erreur: ‘qt_meta_data_AsmConfigWidget’ was not declared in this scope
AsmConfigWidget.moc.cpp:52:20: erreur: prototype for ‘const QMetaObject* AsmConfigWidget::metaObject() const’ does not match any in class ‘AsmConfigWidget’
AsmConfigWidget.h:19:2: erreur: candidate is: virtual QMetaObject* AsmConfigWidget::metaObject() const
AsmConfigWidget.moc.cpp:57:55: erreur: no ‘void* AsmConfigWidget::qt_metacast(const char*)’ member function declared in class ‘AsmConfigWidget’
AsmConfigWidget.moc.cpp:65:47: erreur: ‘int AsmConfigWidget::qt_metacall’ is not a static member of ‘class AsmConfigWidget’
AsmConfigWidget.moc.cpp:65:34: erreur: incomplete type ‘QMetaObject’ used in nested name specifier
AsmConfigWidget.moc.cpp:65:56: erreur: expected primary-expression before ‘int’
AsmConfigWidget.moc.cpp:65:65: erreur: expected primary-expression before ‘void’
AsmConfigWidget.moc.cpp:65:74: erreur: initializer liste d'expressions traitée comme une expression composée
AsmConfigWidget.moc.cpp:66:1: erreur: expected ‘,’ or ‘;’ before ‘{’ token
moc -o BinValueEditor.moc.cpp BinValueEditor.h
moc: Cannot create BinValueEditor.moc.cpp

Donc voilà, je cherche un peu d'aide pour remplacer ce qu'il faut dans la partie target ...

Bon mardi a vous
