2010-09-02 3 views
2
Windows et Unix

Je suis certain que cela a été demandé avant, avec avec près de 900k questions, il est difficile de trouver des choses :)techniques pour fournir un environnement de construction partagée sur

Nous commençons un projet où nous voulons que notre C++ et Python pour s'exécuter tous les deux sous un environnement Unix mais aussi sous Windows. Nous voulons rendre notre projet facile à contribuer en tant que développeurs, et nous souhaitons avoir ce que chaque partie estime être "naturel".

Dans ce cas, sous Unix, c'est automake/autoconf/etc. Sous Windows, tout sauf les fichiers de projet de studio visuel semble être une erreur. C'est principalement parce que nous voulons que les pirates natifs de Windows aient un moyen de se développer facilement dans leur environnement naturel.

Comment les gens font-ils ce genre de chose aujourd'hui? Les codeurs Windows sont-ils à l'aise dans un monde sans interface graphique, alors nous essayons trop dur? Un autre objectif est que nous ayons besoin d'un test automatisé de notre projet, idéalement en utilisant le même code de test (google-test) sur toutes les plates-formes, etc. Cela peut être une question pour une autre question, par contre.

Répondre

2

Le développement multiplateforme peut être une situation délicate. Voici quelques choses que nous faisons pour faciliter le processus:

  1. Control Source (celui-ci est évidente, une base de code solide qui fonctionne avec Windows et Linux, nous utilisons SubVersion)
  2. Créer des normes (Tous nos Makefile semblent identiques et sont faciles à mettre en œuvre comme nos fichiers .sln pour Visual studio)
  3. Générez l'application sur toutes les plateformes, souvent
  4. Soyez au courant de l'utilisation de la bibliothèque croix comme QT et toutes les bizarreries qui pourraient contenir entre Windows et Linux
  5. Parfois, vous ne pouvez pas l'éviter: # ifndef à exec ue du code spécifique à une plateforme

Nous développons sous Windows, Sun et Linux (RedHat) avec de multiples applications à la fois visuelles et en ligne de commande. J'espère que ça aide!

Questions connexes