actexec : fork sous win xp
actexec : fork sous win xp
Je lance actexec avec un script en paramètre avec windows XP (sous virtualbox), le processus se termine immédiatement, mais s'exécute quand même correctement, rendant la main à la ligne de commande dès son lancement.
Du coup c'est un peu difficile si on veut enchaîner plusieurs scripts séquentiellement.
Du coup c'est un peu difficile si on veut enchaîner plusieurs scripts séquentiellement.
Re: actexec : fork sous win xp
Bon, j'ai un palliatif en lançant le processus avec un start
Par contre on ne voit pas les options de lancement quand on lance sous windows.
Code: Select all
C:\Program Files\Actionaz>start /WAIT actexec.exe monscript.ascr
Re: actexec : fork sous win xp
Oui les programmes console sous Windows c'est vraiment pas terrible...
En fait le soucis c'est que ActExec doit être une application graphique et non console car elle peut afficher des fenêtres.
Du coup Windows n'affiche pas la sortie standard des applications graphiques.
Une raison supplémentaire pour passer sur Ubuntu (ou autre GNU/Linux)
En fait le soucis c'est que ActExec doit être une application graphique et non console car elle peut afficher des fenêtres.
Du coup Windows n'affiche pas la sortie standard des applications graphiques.
Une raison supplémentaire pour passer sur Ubuntu (ou autre GNU/Linux)
"My software never has bugs. It just develops random features."
Re: actexec : fork sous win xp
Oh mais j'y suisJmgr wrote:Une raison supplémentaire pour passer sur Ubuntu (ou autre GNU/Linux)
l'application que je teste est sous Windows, que je lance sous VirtualBox sur ma Ubuntu 12.04. Du coup on peut conclure que que Actionaz fonctionne très bien avec Virtualbox
Qu'est ce qui est utilisé pour la compil sous windows? si j'ai un peu de temps, j'aimerais pouvoir "regarder sous le capot"...
Re: actexec : fork sous win xp
La compilation sous Windows se fait avec le compilateur de Microsoft, j'ai beau être un libriste je dois admettre que GCC sous Windows n'est pas vraiment au point : il génère des exécutables plus gros et plus lents...
Pour Windows, les étapes sont :
1) Compiler Qt avec le support du SSL (les versions binaires ne l'activent pas par défaut)
2) Compiler Qt Mobility
3) Compiler Qt Script Generator & générer les scripts & les compiler
4) Compiler les différents plugins (SQL, mediaplayer, etc.)
5) qmake -r && nmake
Il est à noter que les étapes 3 et 4 peuvent être passées, par contre cela va réduire le nombre de fonctionnalités du logiciel.
L'étape 1 dure environ une journée sur un PC moderne.
Le code source est dispo sur GitHub : https://github.com/Jmgr/actionaz
Si tu es motivé voilà la todolist : http://wiki.actionaz.org/doku.php?id=fr:todolist
Pour Windows, les étapes sont :
1) Compiler Qt avec le support du SSL (les versions binaires ne l'activent pas par défaut)
2) Compiler Qt Mobility
3) Compiler Qt Script Generator & générer les scripts & les compiler
4) Compiler les différents plugins (SQL, mediaplayer, etc.)
5) qmake -r && nmake
Il est à noter que les étapes 3 et 4 peuvent être passées, par contre cela va réduire le nombre de fonctionnalités du logiciel.
L'étape 1 dure environ une journée sur un PC moderne.
Le code source est dispo sur GitHub : https://github.com/Jmgr/actionaz
Si tu es motivé voilà la todolist : http://wiki.actionaz.org/doku.php?id=fr:todolist
"My software never has bugs. It just develops random features."
Re: actexec : fork sous win xp
Après quelques jours de lutte, j'en suis à 3)
j'ai une erreur de compil pour qtscriptgenerator
est-ce que quelqu'un l'a compilé sous windows récemment ?
Ma config :
Win XP 32bits, Visual Studio 2010
j'ai une erreur de compil pour qtscriptgenerator
Code: Select all
C:\Program Files\Microsoft Visual Studio 10.0\VC\INCLUDE\xutility(275) : error C2679: '=' binaire : aucun opérateur trouvé qui accepte un opérande de partie dro
ite de type 'rpp::pp_output_iterator<_Container>' (ou il n'existe pas de conversion acceptable)
with
[
_Container=std::string
]
c:\devactionaz\qtscriptgenerator\qtscriptgenerator\generator\parser\rpp\pp-iterator.h(74): peut être 'rpp::pp_output_iterator<_Container> &rpp::pp_outpu
t_iterator<_Container>::operator =(const char &)'
with
[
_Container=std::string
]
lors de la tentative de mise en correspondance de la liste des arguments '(rpp::pp_output_iterator<_Container>, rpp::pp_output_iterator<_Container>)'
with
[
_Container=std::string
]
C:\Program Files\Microsoft Visual Studio 10.0\VC\INCLUDE\xutility(2176) : voir la référence à l'instanciation de la fonction modèle '_Iter &std::_Rechec
ked<_OutIt,_OutIt>(_Iter &,_UIter)' en cours de compilation
with
[
_Iter=rpp::pp_output_iterator<std::string>,
_OutIt=rpp::pp_output_iterator<std::string>,
_UIter=rpp::pp_output_iterator<std::string>
]
c:\devactionaz\qtscriptgenerator\qtscriptgenerator\generator\parser\rpp\pp-internal.h(83) : voir la référence à l'instanciation de la fonction modèle '_
OutIt std::copy<std::_String_iterator<_Elem,_Traits,_Alloc>,_OutputIterator>(_InIt,_InIt,_OutIt)' en cours de compilation
with
[
_OutIt=rpp::pp_output_iterator<std::string>,
_Elem=char,
_Traits=std::char_traits<char>,
_Alloc=std::allocator<char>,
_OutputIterator=rpp::pp_output_iterator<std::string>,
_InIt=std::_String_iterator<char,std::char_traits<char>,std::allocator<char>>
]
c:\devactionaz\qtscriptgenerator\qtscriptgenerator\generator\parser\rpp\pp-engine-bits.h(500) : voir la référence à l'instanciation de la fonction modèl
e 'void rpp::_PP_internal::output_line<_OutputIterator>(const std::string &,int,_OutputIterator)' en cours de compilation
with
[
_OutputIterator=rpp::pp_output_iterator<std::string>
]
c:\devactionaz\qtscriptgenerator\qtscriptgenerator\generator\parser\rpp\pp-engine-bits.h(116) : voir la référence à l'instanciation de la fonction modèl
e 'void rpp::pp::operator ()<const _Elem*,_OutputIterator>(_InputIterator,_InputIterator,_OutputIterator)' en cours de compilation
with
[
_Elem=char,
_OutputIterator=rpp::pp_output_iterator<std::string>,
_InputIterator=const char *
]
c:\devactionaz\qtscriptgenerator\qtscriptgenerator\generator\parser\rpp\pp-engine-bits.h(84) : voir la référence à l'instanciation de la fonction modèle
'void rpp::pp::file<rpp::pp_output_iterator<_Container>>(FILE *,_OutputIterator)' en cours de compilation
with
[
_Container=std::string,
_OutputIterator=rpp::pp_output_iterator<std::string>
]
c:\devactionaz\qtscriptgenerator\qtscriptgenerator\generator\main.h(130) : voir la référence à l'instanciation de la fonction modèle 'void rpp::pp::file
<rpp::pp_output_iterator<_Container>>(const std::string &,_OutputIterator)' en cours de compilation
with
[
_Container=std::string,
_OutputIterator=rpp::pp_output_iterator<std::string>
]
C:\Program Files\Microsoft Visual Studio 10.0\VC\INCLUDE\xutility(275) : error C2582: 'operator =' fonction non disponible dans 'rpp::pp_output_iterator<_Contai
ner>'
with
[
_Container=std::string
]
Ma config :
Win XP 32bits, Visual Studio 2010
Re: actexec : fork sous win xp
Ah oui j'avais oublié : il faut patcher qtscriptgenerator, voilà le sujet de StackOverflow qui m'a aidé à corriger ce bug : http://stackoverflow.com/questions/2791 ... tudio-2010
Plus précisément :
2) Supprimer les tableaux de taille 0 dans le code généré par le qtscriptgenerator une fois compilé
Plus précisément :
En fait il y a deux choses à faire, 1) remplacer _M_result.push_back(__v); par _M_result = __v._M_result; (pas certain que la modification soit exactement celle-là; j'ai le code chez moi mais pas ici)Just an update.. I've replaced the assignment line with _M_result = __v._M_result;. I think that makes more sense. Still plugging away at it.. – guesser May 8 '10 at 6:18
This fixed my problem -- qtscriptgenerator generated the bindings and it all seems to work. Thank you. I would upvote your answer, but my reputation's too low. .......... To clarify my comments here.. I replaced the _M_result.push_back(*__v._M_result.begin()); in my first comment with _M_result = __v._M_result;. – guesser May 8 '10 at 7:18
Alright, I'm a newb. I found the little check mark and accepted the answer. Thanks again. – guesser May 8 '10 at 19:10
For anyone else trying to build qtscriptgenerator with Visual Studio who stumbles upon this answer.. I will also mention that during the final stage of building the bindings, I had to hack around a couple 0-sized arrays. To get it to build, comment those out, and also comment out the for-loops that reference them (the for loops typically go from 0 to <0.. so there's no effect anyway). – guesser May 8 '10 at 19:20
2) Supprimer les tableaux de taille 0 dans le code généré par le qtscriptgenerator une fois compilé
"My software never has bugs. It just develops random features."
Re: actexec : fork sous win xp
Merci, je vais patcher.
Du coup, je me propose pour faire la partie "windows" de ta page compilation sur le wiki, je suis dedans jusqu'au cou !
Du coup, je me propose pour faire la partie "windows" de ta page compilation sur le wiki, je suis dedans jusqu'au cou !
Re: actexec : fork sous win xp
Bonne idée, mais à la limite c'est peut-être plus simple de faire une version pour les gens qui veulent juste avoir la dernière version du dépôt.
C'est à dire sans les bindings SQL, sans SSL (donc pas besoin de recompiler Qt) et sans le "qtscriptgenerator".
Peut-être créer un autre chapitre dédié au développeurs avec toutes les fonctionnalités activées.
C'est à dire sans les bindings SQL, sans SSL (donc pas besoin de recompiler Qt) et sans le "qtscriptgenerator".
Peut-être créer un autre chapitre dédié au développeurs avec toutes les fonctionnalités activées.
"My software never has bugs. It just develops random features."
Re: actexec : fork sous win xp
Je pense qu'il manque OpenCV dans la liste des dépendances. Je l'ai ramené et compilé, par contre, je ne vois pas où je peux dire à Actionaz où il peut trouver les librairies et les .h, à moins d'aller modifier à la main les Makefile.
Pour Windows, les étapes sont :
1) Compiler Qt avec le support du SSL (les versions binaires ne l'activent pas par défaut)
2) Compiler Qt Mobility
3) Compiler Qt Script Generator & générer les scripts & les compiler
4) Compiler les différents plugins (SQL, mediaplayer, etc.)
5) qmake -r && nmake
Est-ce qu'il y a un autre moyen de le faire ?
Re: actexec : fork sous win xp
Oui, c'est au moment de l'appel de qmake qu'on peut le passer en paramètre.
Par exemple chez moi c'est :
Avec
Par exemple chez moi c'est :
Code: Select all
qmake -r -spec win32-msvc2010 "CONFIG+=release" "BOOST_INCLUDE=$BOOST_INCLUDE" "OPENCV_INCLUDE=$OPENCV_INCLUDE" "OPENCV_LIB=$OPENCV_LIB" "OPENCV_LIB_CORE=$OPENCV_LIB_CORE" "OPENCV_LIB_IMGPROC=$OPENCV_LIB_IMGPROC"
Code: Select all
BOOST_INCLUDE="F:/libs/boost_1_49_0"
OPENCV_INCLUDE="F:/libs/opencv/build/include"
OPENCV32_LIB="F:/libs/opencv/build/x86/vc10/lib"
OPENCV64_LIB="F:/libs/opencv/build/x64/vc10/lib"
OPENCV_LIB_CORE="opencv_core231"
OPENCV_LIB_IMGPROC="opencv_imgproc231"
"My software never has bugs. It just develops random features."
Re: actexec : fork sous win xp
j'ai une erreur de compilation sur readregistryinstance.cpp :
la ligne en question est :
Ça semble être lié à ce commit d'il y a 2 jours :
https://github.com/Jmgr/actionaz/commit ... cee945fa85
j'ai essayer de corriger, mais pour le moment, je ne vois pas comment faire rentrer un QVariant dans un QScriptValue ...
Code: Select all
readregistryinstance.cpp
actions\readregistryinstance.cpp(63): error C2664: 'ActionTools::ActionInstance::setVariable' : impossible de convertir le paramètre 2 de 'QVariant' en 'const QScriptValue &'
Raison : impossible de convertir de 'QVariant' en 'const QScriptValue'
Aucun opérateur de conversion définie par l'utilisateur disponible qui puisse effectuer cette conversion, ou l'opérateur ne peut pas être appelé
Code: Select all
setVariable(variable, resultValue);
https://github.com/Jmgr/actionaz/commit ... cee945fa85
j'ai essayer de corriger, mais pour le moment, je ne vois pas comment faire rentrer un QVariant dans un QScriptValue ...
Re: actexec : fork sous win xp
Ah, oui, c'est toujours le problème quand on développe sur un OS : penser à tester sur les autres...
Solution temporaire, ajouter
au début et remplacer
par
Solution temporaire, ajouter
Code: Select all
#include <QScriptEngine>
Code: Select all
setVariable(variable, resultValue);
Code: Select all
setVariable(variable, scriptEngine()->newVariant(resultValue));
"My software never has bugs. It just develops random features."
Re: actexec : fork sous win xp
j'ai un nouveau problème que je n'arrive pas à résoudre dans mon long chemin vers la compilation... décidément !
dans le répertoire gui, j'ai un problème d'édition de lien :
j'en comprend qu'il me manque QtSingleApplication, que je retrouve dans actiontools\qtsingleapplication, mais je ne vois pas pourquoi le problème apparaît maintenant.
une idée ? ...
dans le répertoire gui, j'ai un problème d'édition de lien :
Code: Select all
link /LIBPATH:"c:\DevActionaz\qt-everywhere-opensource-src-4.8.4\lib" /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /MANIFEST /MANIFESTFILE:"generated\actionaz.
intermediate.manifest" /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b6414
4ccf1df' language='*' processorArchitecture='*'" /VERSION:3.50 /OUT:..\actionaz.exe @C:\DOCUME~1\ADMINI~1.0AC\LOCALS~1\Temp\nm3A3.tmp
main.obj : error LNK2019: symbole externe non résolu "public: void __thiscall QtSingleApplication::setActivationWindow(class QWidget *,bool)" (?setActivationWin
dow@QtSingleApplication@@QAEXPAVQWidget@@_N@Z) référencé dans la fonction _main
main.obj : error LNK2019: symbole externe non résolu "public: bool __thiscall QtSingleApplication::sendMessage(class QString const &,int)" (?sendMessage@QtSingl
eApplication@@QAE_NABVQString@@H@Z) référencé dans la fonction _main
..\actionaz.exe : fatal error LNK1120: 2 externes non résolus
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\link.EXE"' : code retour '0x460'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe"' : code retour '0x2'
une idée ? ...
Re: actexec : fork sous win xp
Désolé de la réponse tardive, je n'étais pas chez moi et sans connection à Internet.
Hm, dans ce cas je tenterais d'exécuter à nouveau qmake -r et de recompiler tout le projet.
Hm, dans ce cas je tenterais d'exécuter à nouveau qmake -r et de recompiler tout le projet.
"My software never has bugs. It just develops random features."