Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1417 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Impossible d'ouvrir le fichier include ...

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Impossible d'ouvrir le fichier include ...

n°919241
titouille
Posté le 09-12-2004 à 21:46:35  profilanswer
 

Bonjour à tous !!!
 
Voilà... tout est dans le titre...
Je tente de me remettre au C++, pour une unique raison : compiler la librairie ming pour au final obtenir un fichier utilisable avec python... Donc vous imaginez bien que le C++ n'est pas mon langage de prédilection, et que je ne le fais que par besoin, non pas par envie...
 
J'ai installé le framwork .Net avec lequel j'ai pas mal travaillé en C#. j'ai également installé C++BuilderX, la version multi-plateforme du compilateur C++ de chez borland.
Enfin, j'ai téléchargé les sources de ming, et j'ai tenté de les compiler... après avoir réglé quelques erreurs de chemin (d'ailleurs j'ai une question également à ce propos...) je me retrouve avec un problème de chargement de fichier d'entête externe...
 
Alors tout d'abord... dans le sous-rep "actioncompiler" du rep source de ming 0.3beta1, il y a certains fichiers qui contiennent des appels à ming.c, qui se trouve à la racine...  
J'ai été obligé de changer les appels à ming.c (#include "ming.c" en #include "../ming.c"... pourquoi est-ce qu'il ne remonte pas dans le répertoire source pour trouver le fichier ming.c ?? est-ce qu'il y a une configuration spéciale à faire pour ça ??
 
Ensuite, mon problème d'inclusion... je me retrouve avec l'erreur suivante :
src\actioncompiler\compile.c(21) : fatal error C1083: Impossible d'ouvrir le fichier includeÿ: 'unistd.h'ÿ: No such file or directory
 
pourtant, j'ai mis le rep contenant à la base ce fichier dans le path, et j'ai également copié ce même fichier unistd.h dans le répertoire contenant cl.exe... mais rien n'y fait, unistd.h n'est pas trouvé, et le compilateur plante...  
 
Est-ce que par hasard, quelqu'un aurai une idée sur mon problème ?? et également 1 ou 2 bonnes url sur les linkages de fichiers en C++, comment ça fonctionne, etc...  
 
D'avance merci pour toute information utile :)
 
Thierry


Message édité par titouille le 09-12-2004 à 21:49:38
mood
Publicité
Posté le 09-12-2004 à 21:46:35  profilanswer
 

n°919252
Ace17
Posté le 09-12-2004 à 22:02:01  profilanswer
 

Est-ce que tu utilises le makefile du projet?
Parce que si tu tentes de compiler un projet manuellement, je te souhaite bien du plaisir...

n°919257
HelloWorld
Salut tout le monde!
Posté le 09-12-2004 à 22:20:41  profilanswer
 
n°919306
titouille
Posté le 10-12-2004 à 00:16:20  profilanswer
 

Merci pour vos réponses...
 
Non, je n'essaie pas d'utiliser le makefile du projet... j'essayais déjà comme ça, mais bon, je vois que c'est pas une bonne idée... mais ça reste obscur pour moi, ce genre de choses...
 
J'ai déjà tout essayé sur opaque.wiki... ce n'est pas pour rien que j'en suis là... j'ai lu je ne sais cbien de thread sur internet concernant ming, et très peu ont abouti sur une compilation... la plupart des gens disent avoir abandonné pour essayer autre chose...
 
J'avais essayé avec mingw32, avec mingw developer studio, avec tous les outils dont j'aurai eu besoin... bison, flex, swig, dlltool, make, ...
 
Lorsque je compilais avec mingw, je suis tombé sur des erreurs de compilations dans le fichier src/actioncompiler/swf4compiler.y, sur des déclarations du genre  
 
%token EQ "=="
%token LE "<="
%token GE ">="
 
donc j'en avais déduit que je n'avais pas le compilateur adéquat... j'ai alors essayé avec les outils .Net, mais pas plus de succès... ça fait bientot 1 semaine que je suis dessus sans réussir le moins du monde...
 
J'avais également suivi les explication de http://www.u-blog.net/corailnumerique/2003/12/17 mais c'est sur des anciennes versions et ça ne fonctionne pas non plus...
 
J'ai à peu près tout essayé sans succès... ce qu'il me manque, c'est le fichier libming.a, qui se crée avec le make static... le reste, genre ming_wrap.h ou ming_wrap.o, je peux le faire avec swig, etc...
 
Les explications sur http://sourceforge.net/tracker/ind [...] tid=118365 me semblent assez pertinentes, mais il me manque juste libming.a...
 
Si quelqu'un pouvait prendre quelques minutes ou dizaines de minutes pour me compiler libming.a (car j'imagine que ça sera peut-être plus simple pour vous, bande de connaisseurs, que pour moi, pauvre "novice" qui n'a jamais touché à ce genre de choses (makefile et autre compilations sans IDE...) :) ).
Plusieurs personnes lui en seraient extremement reconnaissantes, dont moi :)
Sinon, est-ce qu'on pourrai m'expliquer pourquoi mon make static plante sur les déclarations c++ ?? est-ce que ce n'est pas des déclarations correctes ?? est-ce que j'ai besoin d'un compilateur bien spécifique ??
 
 
Merci à vous de prendre le temps de me répondre :)
 
Thierry

n°919508
Ace17
Posté le 10-12-2004 à 11:59:56  profilanswer
 

Bon, deja, le fichier .dsw fourni est foireux, il faut le corriger. Je t'explique comment apres, mais d'abord, est-ce que tu as bison et flex installes? Sont-ils dans ton path?
Pour corriger le .dsw, ouvre le avec Visual Studio, va dans project->settings, onglet custom build et a gauche tu fais settings for libming->parsers->swf4compiler.flex. A droite, dans commands, tu vires "D:\sw\cygwin\bin\flex.exe" que tu remplaces par "flex.exe", il faut donc que flex soit dans ton path.
Tu fais pareil avec les autres fichiers du repertoire "parsers" et ca devrait etre bon!

n°919523
Ace17
Posté le 10-12-2004 à 12:08:55  profilanswer
 

OK, une precision apres quelques tests : en fait, visual n'a que faire du path, il faut lui preciser dans quel repertoire il doit aller chercher les executables dans les options du programme.

n°919904
titouille
Posté le 10-12-2004 à 18:14:35  profilanswer
 

Hello !!
 
Merci Ace17 pour ces infos... j'ai fini par installer VS.Net, pour tester la compilation... après avoir fructueusement appliqué les path pour bison et flex, je me retrouve à nouveau avec les mêmes problèmes de compilation qu'avec mingw32...  
 
Alors là, déçu... au final, je me retrouve au même point, et je ne sais toujours pas ce qui foire...
Enfin, je me rend compte que ce n'est pas exactement le même point... cette fois, c'est sur swf5compiler.y qu'il plante... avant c'était sur swf4compiler.y... donc en fait, ça change un peu...
 
Voilà le msg d'erreur...
 
------ Début de la génération : Projet : libming, Configuration : Release Win32 ------
 
Étape de génération personnalisée en cours
"e:\projects\cpp\ming03b1\src\actioncompiler\swf5compiler.y", line 73: invalid text in %token or %nterm declaration
"e:\projects\cpp\ming03b1\src\actioncompiler\swf5compiler.y", line 73: invalid text in %token or %nterm declaration
Project : error PRJ0019: Un outil a retourné un code d'erreur : "Étape de génération personnalisée en cours"
 
Le journal de génération a été enregistré à l'emplacement "file://e:\Projects\Cpp\ming03b1\win32\Release\BuildLog.htm"
libming - 1 erreur(s), 0 avertissement(s)
 
 
---------------------- Terminé ----------------------
 
    Génération : 0 a réussi, 1 a échoué, 0 a été ignoré
 
 
 
M'enfin, je vais continuer à chercher... merci pour ton aide, Ace17. Je commence gentillement à m'en sortir.
 
 
a++

n°919926
Ace17
Posté le 10-12-2004 à 18:33:58  profilanswer
 

A priori c'est ton lex qui foire car moi j'arrive parfaitement a compiler swf5compiler.y. quelle version de [f]lex utilises-tu?

n°920131
titouille
Posté le 10-12-2004 à 23:36:08  profilanswer
 

Merci de m'aider :)
 
 
Donc, j'ai essayé de changer de version de Flex et bison (là j'avais la 252 de flex et la version 1 de bison, récupérés à cette adresse : http://www.monmouth.com/~wstreett/ [...] c.html)...
 
Je suis allé sur ce site là : http://perso.wanadoo.fr/philippe.b [...] yacc1.html  
 
mais cette fois, c'est encore pire, je me retrouve avec un message d'erreur assez bizarre, donc j'en déduit encore que je n'ai pas les bonnes versions...
 
vala le message d'erreur :
 
------ Début de la génération : Projet : libming, Configuration : Debug Win32 ------
 
Étape de génération personnalisée en cours
e:\Projects\Cpp\ming03b1\src\actioncompiler\swf5compiler.y contains 28 shift/reduce conflicts and 172 reduce/reduce conflicts.
Assertion failed: actions_dumped == 1, file output.c, line 1236
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
e:\Projects\Cpp\ming03b1\src\actioncompiler\swf5compiler.y contains 28 shift/reduce conflicts and 172 reduce/reduce conflicts.
Assertion failed: actions_dumped == 1, file output.c, line 1236
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
Project : error PRJ0019: Un outil a retourné un code d'erreur : "Étape de génération personnalisée en cours"
 
Le journal de génération a été enregistré à l'emplacement "file://e:\Projects\Cpp\ming03b1\win32\Debug\BuildLog.htm"
libming - 1 erreur(s), 0 avertissement(s)
 
 
---------------------- Terminé ----------------------
 
    Génération : 0 a réussi, 1 a échoué, 0 a été ignoré
 
 
 
 
Donc, si tu as une version à me proposer, je me ferai un plaisir de la télécharger pour continuer mes essais...
 
Par contre, maintenant, je me pose une grande question existencielle... Avec .Net, je vais avoir un fichier libming.lib... selon les tutoriaux que j'ai lu, j'ai besoin d'un fichier libming.a... à partir de libming.lib, je vais pouvoir créer mon fameux mingc.pyd pour python ?? J'imagine que oui, mais je préfère poser la question pour avoir confirmation, plutot que de persister dans cette voie là et au final devoir tout recommencer (encore...)
 
C'est que ça commence à me gaver 1 peu, de passer 1 semaine pour avoir 1, un seul fichier... grrrr...
 
M'enfin, Ace17, merci pour ta patience et tes précieux conseils que je m'efforce de suivre pas à pas... ça avance, j'y arriverai aussi ;)

n°920143
Ace17
Posté le 10-12-2004 à 23:53:42  profilanswer
 

Tu veux en faire quoi, de ton .lib apres?
 
Mes versions :
Bison-1.875 de GnuWin
Flex-2.5.4 de GnuWin


Message édité par Ace17 le 10-12-2004 à 23:57:02
mood
Publicité
Posté le 10-12-2004 à 23:53:42  profilanswer
 

n°920144
Ace17
Posté le 10-12-2004 à 23:55:43  profilanswer
 

Au fait, as tu essaye de faire "ming python" dans google?

n°920162
titouille
Posté le 11-12-2004 à 00:31:16  profilanswer
 

Vivi, j'ai essayé "ming python" dans google.. j'ai cherché "mingc.pyd" direct également... mais je n'ai rien trouvé de très intéressant...
 
opaque wiki, qui dit qu'il faut compiler ming en C++ puis ensuite toute une série de process pour terminer avec un fichier mingc.pyd...
 
sur le site corailnumerique dont j'ai passé l'adresse avant, il est également expliqué exactement ce que j'aurai besoin de faire pour avoir mon fichier, mais c'est dans une ancienne version...  
 
mais peut-être qu'en ayant les bons compilateurs bison et flex, je devrai réussir à suivre le tuto de corailnumerique et utilise le simple "make static" pour créer libming.a...
 
Mon problème était à ce moment la qu'il me sortait les erreurs de compilations sur les déclarations de token... point ou j'en suis actuellement...
 
Donc dès demain, je vais essayer de trouver une version plus récente de bison, et retenter le coup avec mingw... peut-être que je vais finir par réussir à compiler cette librairie...  
 
 
Merci bcp pour ton aide :)

n°920543
titouille
Posté le 11-12-2004 à 18:25:09  profilanswer
 

Oki oki... donc, voilà ou j'en suis :
 
 
J'ai téléchargé à l'adresse http://sourceforge.net/tracker/ind [...] tid=368365 les fichiers flex et bison déjà compilé, car j'avais des problèmes de compilation avec...  
 
J'ai réinstallé minGW, dlltool, pexports, swig, etc...
 
Entre parenthèses, j'ai réussi à compiler libming.lib avec Visual.Net, mais au final, je ne sais pas quoi en faire pour obtenir mingc.pyd... argh rookie oblige... désolé pour mon manque de connaissance :(
 
Donc, au final, j'ai fait à peu près tout ce qu'il fallait pour que ça fonctionne, et j'y suis presque... je dis bien presque... J'ai repris la façon de faire de corailnumérique, et grace aux fichiers compilés ainsi qu'aux bonnes versions des outils, ça commence à se profiler...
 
Dans le makefile des sources, en mode static, j'ai les lignes suivantes :
 
static: ${OFILES}
 cd blocks && make
 cd actioncompiler && make
 ar r libming.a blocks/*.o ${OFILES} ${COMPILEROFILES}
 cp libming.a ..
 
et c'est sur la dernière ligne que le compilateur plante... voilà le message d'erreur :
 
C:\Dev\Python\ming03b1>make static
process_begin: CreateProcess((null), uname -s, ...) failed.
make -C src static
process_begin: CreateProcess((null), uname -s, ...) failed.
make[1]: Entering directory `C:/Dev/Python/ming03b1/src'
cd blocks && make
process_begin: CreateProcess((null), uname -s, ...) failed.
make[2]: Entering directory `C:/Dev/Python/ming03b1/src/blocks'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `C:/Dev/Python/ming03b1/src/blocks'
cd actioncompiler && make
process_begin: CreateProcess((null), uname -s, ...) failed.
make[2]: Entering directory `C:/Dev/Python/ming03b1/src/actioncompiler'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `C:/Dev/Python/ming03b1/src/actioncompiler'
ar r libming.a blocks/*.o blocklist.o displaylist.o fill.o font_util.o ming.o mo
vie.o movieclip.o position.o shape_cubic.o shape_util.o text_util.o actioncompil
er/compile.o actioncompiler/swf4compiler.tab.o actioncompiler/lex.swf4.o actionc
ompiler/swf5compiler.tab.o actioncompiler/lex.swf5.o actioncompiler/compileactio
n.o actioncompiler/assembler.o
cp libming.a ....
process_begin: CreateProcess((null), cp libming.a ...., ...) failed.
make (e=2): Le fichier spÚcifiÚ est introuvable.
make[1]: *** [static] Error 2
make[1]: Leaving directory `C:/Dev/Python/ming03b1/src'
make: *** [static] Error 2
 
 
Donc, lorsqu'il arrive sur la ligne  
 
cp libming.a ..
 
il plante le process en me disant que le fichier spécifié est introuvable... Pourtant, le fichier libming.a à bien été créé dans mon répertoire src (ainsi que tous les fichiers .o nécessaires dans src/ et ses sous-répertoires...)
 
Donc j'y suis presque, mais je ne comprend pas pourquoi il plante sur le cp libming.a ..
 
Mais vu que je ne sais pas trop à quoi correspond la commande cp, je ne peux pas faire grand chose de plus pour le moment...
 
Si quelqu'un peut m'expliquer à quoi sert la commande cp, ou si quelqu'un voit pkoi ça plante la dessus, ça serai très sympa de sa part si il pouvait m'expliquer :)
 
 
Merci d'avance !
 
Thierry

n°920644
Ace17
Posté le 11-12-2004 à 20:35:27  profilanswer
 

cp ca veut dire copy...
Installe Msys, puisque tu as Mingw, ca te facilitera la tache


Message édité par Ace17 le 11-12-2004 à 20:35:57
n°920748
titouille
Posté le 12-12-2004 à 02:07:15  profilanswer
 

Hellop !!
 
Vi, à force de recherche, j'ai compris que cp corresondait à "copy". Vu que ce n'est qu'une copie dans le répertoire parent, j'ai supprimé la ligne, et j'ai directement passé le fichier libming.a dans le répertoire py_ext...
 
Maintenant, c'est ici que ça coince : lorsque je compile pour avoir mingc.pyd (make mingc.pyd), le compilateur plante sur l'erreur suivante :
 
C:\Dev\Python\ming03b1\py_ext>make mingc.pyd
process_begin: CreateProcess((null), uname -s, ...) failed.
dllwrap --dllname mingc.pyd --driver-name gcc --def mingc.def \
  -o mingc.pyd ming_wrap.o -s --entry _DllMain@12 \
  --target=i386-mingw32 -L. -lpython23 -lming
process_begin: CreateProcess((null), uname -s, ...) failed.
./libming.a(movie.o)(.text+0xb33):movie.c: undefined reference to `compress2'
dllwrap: gcc exited with status 1
make: *** [mingc.pyd] Error 1
 
donc, référence à 'compress2' non trouvée... j'ai également trouvé dans les newsgroups un post faisant référence à une erreur du même type :
http://groups.google.ch/groups?hl= [...] 26rnum%3D1
 
donc si j'ai bien compris, il faudrai également que je compile la librairie zlib pour avoir la méthode 'compress2' ? les headers ne suffisent pas, je me disais aussi...
 
Mais pourtant, dans le ming_config.h, j'ai viré les utilisations des librairies gif, png et zlib... mais il plante quand même sur une méthode de zlib...
 
Comment dois-je lier la librairie zlib ?? y a-t-il possibilité d'inclure une simple dll, ou bien est-ce que je dois également compiler entièrement pour obtenir un libzlib.a, que je devrai également inclure dans le makefile situé dans py_ext, ou différement ??
Et à priori, vu qu'il me plante sur zlib, il va surement me planter également sur png.h, j'imagine...  
C'est si compliqué que ça, de faire une compilation avec des outils libres ?? enfin, je suis débutant, mais à première vue, c'est assez rebutant... déjà que le c++, c'est pas aisé, la compilation, c'est pas la joie non plus, hem  :heink: (enfin, c'est peut-être le "sous windows" qu'il faut préciser et qui pose problèmes, lol)
 
Bref, merci Ace17 de m'aider pour tout ceci. Je suis très actif sur les forums Flash-France, et ça fait toujours plaisir de voir qu'il y a des gens dévoués pour en aider d'autres dans les domaines qu'ils ne maitrisent pas. Je te suis très reconnaissant :)
 
Thierry

n°920796
Ace17
Posté le 12-12-2004 à 10:31:43  profilanswer
 

pas de quoi :hello:
 
Effectivement, la compilation des outils libres est assez rebutante...si on essaie de l'accomplir de la mauvaise facon. La compilation d'un logiciel est quelque chose d'assez complique, tellement d'ailleurs que dans la grande majorite des cas, pour que le projet puisse etre compile dans tels environnements, sur telles machines, avec la librairie bidule mais pas machin, avec le support 3dnow, etc, le makefile devient si precis que plutot que de fournir un nombre exponentiel de makefiles on prefere faire generer a l'utilisateur le bon makefile, en fonction de sa config.
Connais tu le rituel suivant?
./configure
make
make install
C'est la procedure de compilation de 90% des logiciels libres. C'est l'appel a configure qui genere le makefile, et configure est un script en sh. Enfin, bref. Tout ca pour dire que tu as tout interet a installer un mini-environnement unix sur ta machine, ca t'evitera beaucoup de soucis. Je te conseille vraiment d'installer Msys ou Cygwin, bien que Msys soit beaucoup plus leger. Tu pourras ainsi compiler a peu pres n'importe quoi, puisque ca se limitera au trois lignes ci dessus.  
 
Quant a zlib, si tu ne veux pas la compiler, va sur sourceforge.net et cherche GnuWin32. Tout en bas de la liste tu as zlib, selectionne la, et apres choisis celui qui se termine par lib. Tu auras le .a correspondant, pret a l'emploi!

n°921424
titouille
Posté le 12-12-2004 à 23:14:52  profilanswer
 

Oki, oki...
 
Bon, je galère toujours sur les mêmes choses... j'ai essayé de suivre la méthode avec disutils, mais bien sur, vu que je n'ai pas vc++6 mais vc++7, il fallait bien sur que le compilateur m'arrête sur le fait que python 2.3 à été compilé avec vc++6, donc je dois utiliser vc++6 pour compiler les extensions... :(
 
Donc j'ai réessayé mingw et tout le tralala, j'avais installé cygwin un peu par hasard en espérant trouver certaines librairies, mais c'était en fait des librairies gnuwin32 dont j'avais besoin, comme tu m'y a dirigé... mais j'ai beau avoir installé les librairies libpng et zlib, il plante toujours sur compress2...
 
En fait, ce qui reste obscur pour moi (parmis tant d'autres choses...) c'est comment linker la librairie zlib avec mes sources ming pour qu'il les prennent en compte... je ne sais pas d'ou sort compress2, et je ne sais pas comment linker zlib.dll.a ou un quelconque autre fichier qui me permettrai de palier à cette erreur de compilation...
 
Je suis un peu au bord de la crise... + d'une semaine que je suis dessus, et toujours pas de fichier pyd... dur dur...
 

n°921502
Ace17
Posté le 13-12-2004 à 00:24:59  profilanswer
 

de pallier cette erreur.  
pas "a cette erreur"
;)
 
Cygwin est une bonne idee, mais il me semble qu'apres le probleme c'est que le programme produit en est dependant ( a verifier )
 
Ca n'est pas au moment de la compilation qu'interviennent les "undefined reference" (ou "unresolved external" sous Visual). C'est lors de l'edition de liens.
 
C'est au moment ou l'erreur apparait que tu as besoin de preciser le nom de ce fichier (libzlib.a), pas avant. En d'autres termes, libming.a n'a que faire de libzlib.a tant que tu n'essaie pas de creer un executable ( ca inclut les dll ).
 
Essaie de rajouter -lzlib dans cette commande du makefile:


mingc.pyd: ming_wrap.o
 dllwrap --dllname mingc.pyd --driver-name gcc --def mingc.def \
   -o mingc.pyd ming_wrap.o -s --entry _DllMain@12 \
   --target=i386-mingw32 -Llib/ -lpython15 -lzlib


Message édité par Ace17 le 13-12-2004 à 00:25:23
n°921528
titouille
Posté le 13-12-2004 à 02:27:55  profilanswer
 

Citation :


Ace17 a corrigé :
de pallier cette erreur.  
pas "a cette erreur"
;)  


 
Woups... je l'ai toujours utilisé avec un "à", ce pauvre pallier. Et moi qui me crois bon en français  :whistle:  
 
Merci pour cette correction ;)
 
 
Bon, je continue avec mes périgrinations dans le monde de ming... J'avais pensé que c'était un param à rajouter dans le dllwrap, mais je n'étais pas trop sur de mon coup, j'ai préféré tester d'autres choses...
 
En fait, même en incluant libzlib.a, il me sort toujours cette erreur sur compress2... alors bon, j'ai fini par éditer le code de movie.c pour mettre en commentaire le if qui fait un appel à la fonction compress2...
 
Le libzlib.a, j'ai du le faire en récupérant les sources de zlib, qui contient un zlib.def, et la dll zlib.dll, et avec dlltool, j'ai créé le fichier libzlib.a... mais compress2 n'était toujours pas trouvé... alors qu'il est biend défini dans zlib.def... pas tout compris, mais bon...)
 
Donc, je met en commentaire, je make mingc.pyd, et là, il me plante sur :
 
Titouille@titouille-nb ~/ming03b1/py_ext
$ make mingc.pyd
dllwrap --dllname mingc.pyd --driver-name gcc --def mingc.def \
  -o mingc.pyd ming_wrap.o -s --entry _DllMain@12 \
  --target=i386-mingw32 -L. -lpython23 -lming
mingc.exp(.edata+0x34):fake: undefined reference to `initmingc'
dllwrap: gcc exited with status 1
c:\Dev\Cpp\MinGW\bin\make.exe: *** [mingc.pyd] Error 1
 
(on peut voir que j'ai déjà modifié la ligne de commande pour passer libpython23.a et libming.a)
 
Alors bon, je fais une recherche sur initmingc, à tout hasard, pour voir si je trouve cette valeur dans un des fichiers... oui, c'est le cas, dans le fichier mingc.def...
 
Alors bon... ben j'essaie de la supprimer... là, ça me compile. je place la "dll" dans le rep DLLs de python, je lance pythonwin, j'importe ma librairie, et là, il me dit :
 
>>> import mingc
Traceback (most recent call last):
  File "<interactive input>", line 1, in ?
ImportError: dynamic module does not define init function (initmingc)
 
donc, cette déclaration est bien nécessaire, mais pourtant, elle ne passe pas à la compilation... La je deviens vert, genre  :bounce:  
 
Je n'y comprend rien...
 
 
J'ai lu ceci sur un autre thread des forums hardware :  
 

Citation :


Bon j'ai trouvé :
Quand devc++ compile une dll il lance gcc puis dllwrap
Le probleme c'est quand on fournit un *.def, devc++ l'envoie a gcc au lieu de dllwrap et ca plante, donc j'ai refait un batch qui lance gcc et dllwrap avec mon *.def :  


 
 
Est-ce qu'il ne m'arriverai pas la même chose, selon la déclaration mingc.pyd ?? Vu que je découvre un peu toutes ces choses, je me pose pleins de questions, mais peu de réponses trouvées sur le net...
 
Voilà. Je pense que je suis assez près du but, puisque j'ai au moins réussi à compiler mingc.pyd sans erreurs de compilation (mais manque le initmingc)
 
Ace17, si tu peux encore me filer un tit coup de main pour la dernière ligne droite. Si bien sur, tu vois ce qui pourrai clocher.  
 
La seule peur qui reste, c'est qu'après avoir fait tout ça, ma dll ne soit pas valable... argh...
 
Mais au fait... qu'est ce que je peux faire avec libming.lib ?? est-ce que je peux refaire un libming.a, etc ?? je l'avais compilé avec visual.Net, mais je ne sais pas comment l'utiliser ensuite... Mais bon, c'est secondaire... ce qui m'intéresse le plus, c'est de réussir à supprimer ce msg d'erreur sur initmingc.
 
 
D'avance un grand merci :)
 
Thierry

n°931330
titouille
Posté le 24-12-2004 à 04:43:53  profilanswer
 

heu, personne ne verrait une solution à ce problème ?? il semblerai que ça soit lié au C et non pas à python. Si quelqu'un à une idée, ça me serai d'un grand secours...

n°931341
Ace17
Posté le 24-12-2004 à 09:15:22  profilanswer
 

Je ne connais pas Python, mais ca a plutot l'air lié a Python, comme si pour faire un module il fallait nécessairement exporter une fonction initmingc. Et si tu essaies de rajouter dans le code de la lib une fausse fonction initmingc?

n°933953
titouille
Posté le 30-12-2004 à 05:08:29  profilanswer
 

Bon, comme tu le dis, ça semblerai également lié à Python... J'ai essayé de faire 2-3 tests, mais en vain... J'ai par contre réussi à compiler la version 02a, qui est suffisante pour mes besoins actuels... J'aimerai tout de même réussir à compiler la version actuelle, qui apporte certains supports en +, mais vu comme ça va, je désespère 1 peu d'y arriver... J'ai ouvert un thread sur le tracker, on verra bien. Et je pense que même si j'y arrive, bcp de méthodes ne fonctionneront pas...
 
Toutefois, merci bcp pour ton aide, ça m'a bien servi pour compiler la version 02a. ;)


Message édité par titouille le 30-12-2004 à 05:09:54
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Impossible d'ouvrir le fichier include ...

 

Sujets relatifs
Ouvrir une feuille excel en VBAtrouver le chemin d'un fichier
Code source d'un fichier PHPfaut'il passer par un fichier tmp ?
[C et xp]Comment saisir le nom du fichier d'entrée standard?[ borland sous WIN XP] fichier et repertoire qq questions ?
comment selectionner un fichierProblème avec fichier xml
fichier .bat[Prob] Upload fichier PHP
Plus de sujets relatifs à : Impossible d'ouvrir le fichier include ...


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR