2010-04-16 4 views
1

J'ai un petit programme open source qui se construit avec un script configure autoconf.Comment traiter le fichier configure lors de la compilation croisée avec mingw?

Je configure couru j'ai essayé de compiler avec:

make CC="/opt/local/bin/i386-mingw32-g++" 

Cela ne fonctionne pas parce que le script de configuration trouvé inclure des fichiers qui ne sont pas à la disposition du système de MinGW.

Alors j'ai essayé:

./configure CC="/opt/local/bin/i386-mingw32-g++" 

Est-ce que la bonne façon de le faire?

Répondre

1

Vous voulez:

./configure --host = i686-pc-mingw32

... qui indique la configuration que vous voulez pour cibler une plate-forme différente. Pourvu que votre environnement de compilation croisée soit configuré correctement, c'est-à-dire que vous ayez un "i686-pc-mingw32-gcc" dans votre chemin, tout devrait fonctionner.

+0

Il s'avère que cela n'a pas fonctionné. L'installation Mac Mingw que j'ai trouvée installe l'exécutable en tant que i686-apple-darwin10-cpp-4.2.1. en spécifiant '--host = i686-apple-darwin10' et '--host = i686-pc-mingw32' ne fonctionnent pas. – vy32

+1

Ah, mais en plus d'installer le compilateur comme i686-apple-darwin10-gcc-4.2.1, il a également installé /usr/local/i386-mingw32-4.3.0/bin/i386-mingw32-gcc. Ajout de /usr/local/i386-mingw32-4.3.0/bin/ à mon $ PATH et en cours d'exécution ./configure --host = i386-mingw32 a fait l'affaire – vy32

0

Eh bien, cela semble fonctionner:

MBIN=/opt/local/bin/ 
    PREFIX=/opt/local/i386-mingw32 
    export CC=$MBIN/i386-mingw32-gcc 
    export CXX=$MBIN/i386-mingw32-g++ 
    export RANLIB=$MBIN/i386-mingw32-ranlib 
    export AR=$MBIN/i386-mingw32-ar 
    export MINGWFLAGS="-mwin32 -mconsole -march=pentium4 " 
    export CFLAGS="$MINGWFLAGS" 
    export CXXFLAGS="$MINGWFLAGS" 
    VARS="CC=$CC CXX=$CXX RANLIB=$RANLIB AR=$AR" 
    make $VARS CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" 
Questions connexes