Existe-t-il des outils conviviaux pour la compilation croisée de Windows vers Linux?
crosstool-ng prend en charge la création de compilateurs croisés avec l’hôte cygwin .
Aperçu:
crosstool-ng
tar xvjf crosstool-ng*
) ./configure
flex
, libtool
, ncurses-devel
). Vous aurez besoin au moins des éléments suivants:
make
make install
/usr/src/cross-linux-gnu-root
mount c:/cygwin/usr/src/cross-linux-gnu-root /usr/src/cross-linux-gnu -o binary,posix=1
) ct-ng menuconfig
x86
(probablement) et sous- i686
sur i686
(évite les problèmes GCC 4.8 , merci osm0sis), cible le kernel vers linux
et cible la bibliothèque C sur glibc
, et active le compilateur C ++. Paths and misc options
, accédez aux Companion tools
(au niveau supérieur) et activez la génération d’outils associés, puis définissez make 3.81
(Merci, osm0sis). ct-ng build
Bien sûr, cela ne va PAS vous permettre de créer des applications Linux depuis Visual Studio. (VS2010 et versions ultérieures vous permettent de créer d’autres outils tels que gcc, mais vous aurez besoin d’une description de chaîne d’outils appropriée, en plus du compilateur croisé créé par crosstool-ng). Mais vous aurez un g++-linux-gnu
, que vous pouvez exécuter directement ou en utilisant un Makefile.
REMARQUE: la construction du compilateur croisé prend beaucoup de temps. osm0sis a fourni un gcc 4.8.1 pré-construit avec ses notes sur la construction du compilateur croisé (utilisé pour mettre à jour cette réponse).
Votre meilleur pari est d’utiliser un IDE multi-plateforme tel que Code :: Blocks , capable d’importer des projets MSVC, et de générer un Makefile pour Linux, que vous pourrez ensuite exécuter sous Linux (avec le même programme si vous le souhaitez).
Ainsi, votre stream de travail ressemblerait à ce qui suit:
Code, Comstack, and debug on MSVC -> import into Code::Blocks & generate Makefile -> test comstack and debug with GCC -> copy to Linux with Code::Blocks -> test comstack & debug on Linux
C’est un peu obtus, probablement, mais au moins Code :: Blocks s’occupe de beaucoup de ces petits détails avec des choses comme Makefiles, et non.
Voulez-vous quelque chose qui peut prendre le code écrit pour fonctionner sur Windows et le faire fonctionner sur Linux? Il n’y a pas vraiment de compilateur qui fait ça – mais peut-être que vous cherchez Wine ( http://www.winehq.org/ ) qui vous permet d’exécuter des applications Windows sur Linux (si elles utilisent des APIs, Wine a fait fausse route).
Edit: Je suppose que votre code utilise les API Windows (Win32, etc.) dans cette réponse. Si vous n’utilisez que le standard C ++ et les bibliothèques disponibles sur plusieurs plates-formes, alors il y a beaucoup d’autres réponses.
Je ne crois pas qu’il existe des compilateurs qui vous permettent de comstackr sous Windows, puis de prendre le binary résultant et de l’exécuter sur une machine Linux. Votre meilleur pari est de configurer deux environnements de développement, l’un sous Windows et l’autre sous Linux. Effectuez l’essentiel de votre développement et de votre débogage dans l’environnement Windows si c’est ce qui vous convient, puis comstackz et testez fréquemment sous Linux pour vous assurer que votre code est vraiment multi-plateforme. Vous souhaiterez également utiliser un système de génération et un framework de test multi-plateformes. Je recommande d’utiliser cmake et Google Test , respectivement.
Comstackr en Linux à partir de Windows sans utiliser la virtualisation ou le compilateur croisé, mais uniquement en mode natif via coLinux
Créez des fichiers exécutables Linux natifs sans laisser de fenêtres de redémarrage.
C / C ++ Comstackr pour Linux sous Windows via Cooperative Linux
La commutation la plus rapide entre Windows et Linux via ALT-TAB (aucun redémarrage ou redémarrage nécessaire).
1.Installez coLinux ( http://sourceforge.net/projects/colinux/files/latest/download?source=files )
2.Utilisez l’image du système de fichiers racine coLinux: Ubuntu-9.04-1gb.7z ( http://sourceforge.net/projects/colinux/files/Images%202.6.x%20Ubuntu/Ubuntu%209.04/ )
3.start coLinux
4.changez la chaîne “archive.ubuntu.com” en “old-releases.ubuntu.com” avec:
shell> sudo vi /etc/apt/sources.list
5. Mettez à jour votre configuration:
shell> sudo apt-get update
6.Installez deux logiciels pour pouvoir comstackr vos programmes:
shell> sudo apt-get install build-essential
(c / c ++, compilateurs gcc)
shell> sudo apt-get install libmysqlclient15-dev
(mysql dev 5.1)
7. Accès aux répertoires Windows à partir de coLinux
shell> monter cofs0 / mnt / -t cofs
shell> cd / mnt
8. comstackr
shell> c ++ your.source.cc -o exécutable.name