2009-09-25 11 views
2

J'écris du code en linux embarqué depuis quelques années, j'utilise make utility pour construire mon code et je n'en suis pas du tout un utilisateur avancé. Mais maintenant, il est nécessaire d'avoir une meilleure compilation, une connaissance de compilation croisée, de sorte que je puisse facilement transférer mon code vers de nouveaux processeurs. Je veux donc savoir quels sont les différents outils disponibles pour construire des projets sous linux? Veuillez me fournir une référence externe (Liens, Livres) que vous avez trouvée utile dans vos projets.Comment apprendre à construire des outils sous linux?

J'écris du code en C++.

Merci, Ensoleillé

+2

wiki de la communauté? – dharga

Répondre

2

autoconf est le standard de facto pour la création automatique de systèmes de construction pour les systèmes de type Unix. En configurant votre logiciel sous autoconf, vous devriez théoriquement être capable de le construire sur n'importe quel système supportant un environnement de construction GNU. Honnêtement, je trouve autoconf d'être incroyablement moche et trop complexe et n'aime généralement pas traiter avec elle.

CMake est un nouveau système qui a à peu près les mêmes fonctionnalités que autoconf. J'entends que c'est un peu plus simple que autoconf, même si je ne l'ai jamais utilisé moi-même. Plusieurs projets de haut niveau tels que KDE utilisent CMake.

Le manuel d'utilisation de l'un de ces deux systèmes est probablement l'endroit idéal pour commencer. Prenez un programme existant et voyez si vous pouvez le configurer pour qu'il soit automatisé par l'un d'entre eux. Vous devriez également essayer des versions plus compliquées avec elles, telles que les compilations croisées, que les deux devraient prendre en charge.

Je ne sais rien des systèmes de construction pour Windows, cependant. CMake est probablement le plus facile des 2 pour gérer les builds Windows aussi.

3

L'éditeur O'Reilly a beaucoup de bons (et certains pas si bons) livres pour les développeurs. Dans ma bibliothèque, ils constituent environ 1/3 de tous mes livres. Au cours des dernières années, environ 75% des livres que j'ai achetés proviennent d'O'Reilly. This book à propos de Make pour GNU, par exemple. Ou this one.

+0

pourquoi, les 4 downvotes ici? Pas une * grande * réponse, mais wtf? –

+0

Je ne comprends pas non plus mais je pense que quelques-uns ici n'aiment pas certains éditeurs. Le Q a demandé des livres et O'Reilly a beaucoup de titres. –

+0

La réponse originale ne se référait pas à des livres en particulier, mais disait simplement "O'Reilly est un éditeur sympa, j'achète beaucoup de livres d'eux". Il n'était en effet pas plus utile, à l'époque, que RTFM ou STFW. +1 pour le contenu réel maintenant. – Novelocrat

2

Lire l'article Recursive Make Considered Harmful, pour obtenir un peu de philosophie d'arrière-plan. Ensuite, il y a un bon article, GNU Make: Multi-Architecture Builds. En outre, le GNU Make manual est en fait assez lisible d'avant en arrière. J'ai lu le tout comme devoir.

+0

Merci pour ce lien considéré comme nuisible, c'était intéressant. Au travail, j'ai affaire à un vieux projet crufty avec des makefiles récursifs à plusieurs niveaux (et je n'ai pas la capacité de le réparer), donc c'était un soulagement bienvenu. –

Questions connexes