Crosscompilation sous linux pour w32 avec mingw - Divers - Programmation
Marsh Posté le 16-02-2009 à 23:01:07
# ./configure CC=i586-mingw32msvc-gcc CXX=i58 |
Marsh Posté le 16-02-2009 à 23:25:48
J'ai trouvé comment renseigner windres au configure avec "--windres=i586-mingw32msvc-windres"
Mais je reviens au même blocage..
# ./configure CC=i586-mingw32msvc-gcc CXX=i586-mingw32msvc-g++ --windres=i586-mingw32msvc-windres --os=mingw |
edit:
Ah maintenant j'ai des ".exe" à endien_check.exe et strgen.exe
Peut être en laissant gcc et g++ ?
edit2: ah ça avance..
./configure --windres=i586-mingw32msvc-windres --os=mingw |
Par contre a la compilation ça avance un peu mieux mais ça me donne ça :
[SRC] DEP ai/trolly/build.cpp |
(au moins endian_check et strgen ont marché)
XaT
Marsh Posté le 17-02-2009 à 09:17:36
Si ça peut aider, voici un makefile qui marche (généré par Dev-C++) pour compiler le fichier toto.cpp avec mingw32 sous Windows pour Windows :
Code :
|
Marsh Posté le 16-02-2009 à 22:58:36
Bonjour, je cherche à compiler pour Windows sous Linux
Sur ma débian etch, j'ai installé binutils, mingw32 etc..
J'ai d'abord essayer en spécifiant dans le configure :
# ./configure CXX=i586-mingw32msvc-g++ CC=i586-mingw32msvc-gcc
Et au make ça foire :
root@ks39571:/home/openttd/src/0.6.3# make
make[1]: entrant dans le répertoire « /home/openttd/src/0.6.3/objs/lang »
[LANG] Compiling and Linking endian_check
[LANG] Testing endianness for host
/bin/sh: ./endian_check: cannot execute binary file
make[1]: *** [endian_host.h] Erreur 126
make[1]: quittant le répertoire « /home/openttd/src/0.6.3/objs/lang »
make[1]: entrant dans le répertoire « /home/openttd/src/0.6.3/objs/release »
make -C /home/openttd/src/0.6.3/objs/lang strgen
make[2]: entrant dans le répertoire « /home/openttd/src/0.6.3/objs/lang »
[LANG] Compiling core/alloc_func.cpp
[LANG] Compiling string.cpp
[LANG] Compiling strgen/strgen.cpp
[LANG] Compiling and Linking strgen
make[2]: quittant le répertoire « /home/openttd/src/0.6.3/objs/lang »
make -C /home/openttd/src/0.6.3/objs/lang table/strings.h
make[2]: entrant dans le répertoire « /home/openttd/src/0.6.3/objs/lang »
[LANG] Generating table/strings.h
./strgen: ./strgen: cannot execute binary file
make[2]: *** [table/strings.h] Erreur 126
make[2]: quittant le répertoire « /home/openttd/src/0.6.3/objs/lang »
make[1]: *** Pas de règle pour fabriquer la cible « ai/ai.d », nécessaire pour « ai/ai.o ». Arrêt.
make[1]: quittant le répertoire « /home/openttd/src/0.6.3/objs/release »
make: *** [all] Erreur 2
J'en ai déduit que je m'y suis mal pris
J'ai lu le configure et vu qui y'avait une option OS, j'ai mit os=mingw
La au configure :
checking awk... awk
forcing OS... MINGW
checking build system type... x86_64-linux-gnu
checking host system type... x86_64-linux-gnu
checking universal build... no
checking build cc... gcc
checking host cc... gcc
checking build c++... g++
checking host c++... g++
checking host windres... windres not found
I couldn't detect any windres binary on your system
please define the CC/CXX environment to where it is located
J'ai mit à jour binutils (qui est censé contenir windres) puis compilé et installe le binutils-2.19.1
Pareil.
XaT
Message édité par XaTriX le 16-02-2009 à 23:00:49
---------------
"Xat le punk à chien facho raciste. C'est complexe comme personnage." caudacien 05/10/2020