Outils pour utilisateurs

Outils du site


informatique:swig

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
informatique:swig [2017/10/11 14:28] 134.158.87.12informatique:swig [2018/06/19 14:32] – modification externe 127.0.0.1
Ligne 10: Ligne 10:
  
 Site officiel: Site officiel:
-[[http://swig.org]]+[[http://swig.org]]\\ 
 +pour l'installation sous ubuntu: [[https://doc.ubuntu-fr.org/swig]]
  
 Comparatif avec d'autre solutions: Comparatif avec d'autre solutions:
Ligne 16: Ligne 17:
  
 ===== Exemple avec le pompage (lmapc104) ===== ===== Exemple avec le pompage (lmapc104) =====
 +<note important>Les étapes 1 et 2 ci-dessous ont été intégré dans le //**Makefile**// qu'il suffit de lancer avec la commande //**make**// depuis une fenêtre //mingw// (dans l'explorateur de fichiers Windows, clic-droit sur le répertoire pompageGC puis //git bash here//)</note>
 +==== Étape 1 ====
 dans une commande (cmd) "dos":\\ dans une commande (cmd) "dos":\\
 +<code dos>
 C:\workspace\pompageGC\src> C:\workspace\pompageGC\src>
-<code>C:\Users\pompage\Downloads\swigwin-3.0.12\swig.exe -python -c++ pompage.i</code>+C:\Users\pompage\Downloads\swigwin-3.0.12\swig.exe -python -c++ pompage.i 
 +</code>
 qui crée les fichiers //src/pompage_wrap.cxx// et //src/pompage.py// qui crée les fichiers //src/pompage_wrap.cxx// et //src/pompage.py//
  
 +On déplace //pompage.py// à la racine du projet:
 +<code bash>$ mv src/pompage.py .</code>
 +
 +<note tip>Ces deux étapes peuvent être réalisée simplement dans le répertoire //C:\workspace\pompageGC\// en lançant le batch **runSwig.bat**</note>
 +==== Étape 2 ====
 dans un terminal (mingw-64)(ds explorer windows, clic-droit sur le répertoire workspace\pompageGC\src puis "//Git Basch here//") :\\ dans un terminal (mingw-64)(ds explorer windows, clic-droit sur le répertoire workspace\pompageGC\src puis "//Git Basch here//") :\\
 pompage@LMAPC104 MINGW64 /c/workspace/pompageGC (swig) pompage@LMAPC104 MINGW64 /c/workspace/pompageGC (swig)
-<code>$ g++ -c -std=c++14 -D_hypot=hypot -DWIN32 src/*.cpp src/pompage_wrap.cxx -I./lib/ -I/C/Program\ Files\ \(x86\)/Python36-32/include</code>+<code bash>$ g++ -c -std=c++14 -D_hypot=hypot -DWIN32 src/*.cpp src/pompage_wrap.cxx -I./lib/ -I/C/Program\ Files\ \(x86\)/Python36-32/include</code>
 qui compile avec python, le -I./lib/ est pour le PComm.h (carte Moxa), -D_hypot=hypot pour la compatibilité avec Python ((le https://stackoverflow.com/questions/10660524/error-building-boost-1-49-0-with-gcc-4-7-0)) qui compile avec python, le -I./lib/ est pour le PComm.h (carte Moxa), -D_hypot=hypot pour la compatibilité avec Python ((le https://stackoverflow.com/questions/10660524/error-building-boost-1-49-0-with-gcc-4-7-0))
  
 pompage@LMAPC104 MINGW64 /c/workspace/pompageGC (swig) pompage@LMAPC104 MINGW64 /c/workspace/pompageGC (swig)
-<code>$ g++ -shared *.o /c/ProgramData/Anaconda3/python36.dll lib/PCOMM.LIB /c/Windows/System32/msvcr120.dll -L./lib/ -lpci-dask64 -o _pompage.pyd</code>+<code bash>$ g++ -shared *.o /c/ProgramData/Anaconda3/python36.dll lib/PCOMM.LIB /c/Windows/System32/msvcr120.dll -L./lib/ -lpci-dask64 -o _pompage.pyd</code>
 qui réalise l'édition de liens (link) et crée les fichiers //_pompage.pyd// qui réalise l'édition de liens (link) et crée les fichiers //_pompage.pyd//
-<note tip>Ces deux étapes peuvent être lancé plus simplement en tapant, depuis une fenêtre cli mingw, et en étant dans le répertoire c:/workspace/pompageGC <code>bash mf_pompage-py.sh</code></note>+<note tip>Ces deux étapes peuvent être lancées plus simplement en tapant, depuis une fenêtre CLI mingw, et en étant dans le répertoire c:/workspace/pompageGC <code>bash mf_pompage-py.sh</code></note> 
 +<note important>Si de nouvelles méthodes apparaissent dans //myControler// (fichiers pompage.hpp et cpp), l'étape 1 doit être à nouveau réalisée</note>
  
-On déplace //pompage.py// à la racine du projet: +==== Utilisation ====
-<code>$ mv src/pompage.py .</code>+
  
 à nouveau dans une commande "dos", on teste: à nouveau dans une commande "dos", on teste:
-<code>+<code dos>
 C:\workspace\pompageGC\src>cd .. C:\workspace\pompageGC\src>cd ..
  
Ligne 50: Ligne 60:
 >>> >>>
 </code> </code>
 +
 +ou pour exécuter le programme, lancer le batch:
 +<code dos>runPython_pyqt_pompage.bat</code>
 +<note important>les DLL, notamment PCOMM.dll et PCI-DASK64.dll doivent être dans le répertoire d'exécution ou bien accessibles (installées par un logiciel et le //PATH// windows correctement défini</note>
 +
 +Débugger C++/Swig/python: pdb et gdb !!\\
 +[[https://stackoverflow.com/questions/13178116/debugging-mixed-python-c-code-in-eclipse]]
  
informatique/swig.txt · Dernière modification : 2019/03/11 09:54 de 159.84.20.98