{"id":46498,"date":"2025-09-20T21:53:29","date_gmt":"2025-09-21T00:53:29","guid":{"rendered":"https:\/\/mastertrend.info\/?p=46498"},"modified":"2025-09-20T21:54:03","modified_gmt":"2025-09-21T00:54:03","slug":"compiler-sous-linux","status":"publish","type":"post","link":"https:\/\/mastertrend.info\/fr\/compilar-en-linux\/","title":{"rendered":"Compilation sous Linux\u00a0: Ex\u00e9cution en quelques minutes avec 3 commandes \u26a1"},"content":{"rendered":"<h2>Compilation sous Linux\u00a0: 3 \u00e9tapes pour cr\u00e9er des binaires \ud83d\udd25<\/h2>\n<h3 class=\"title icon i-list\">R\u00e9sum\u00e9 des points cl\u00e9s<\/h3>\n<ul>\n<li>La plupart des logiciels suivent un processus en 3 \u00e9tapes pour compiler \u00e0 partir du code source\u00a0: <code>.\/configure &amp;&amp; make &amp;&amp; make install<\/code>.<\/li>\n<li>Le sc\u00e9nario <strong>configurer<\/strong> v\u00e9rifie les d\u00e9pendances, <strong>faire<\/strong> g\u00e9n\u00e8re l&#039;ex\u00e9cutable et des outils tels que <em>autoconf\/automake<\/em> automatiser ce processus.<\/li>\n<li>L&#039;installation est g\u00e9n\u00e9ralement facultative, ce qui facilite l&#039;ex\u00e9cution des commandes copi\u00e9es dans les r\u00e9pertoires du <code>CHEMIN<\/code> du syst\u00e8me.<\/li>\n<\/ul>\n<p>La compilation \u00e0 partir du code source peut sembler intimidante par rapport \u00e0 l\u2019utilisation de gestionnaires de paquets, mais avec trois commandes de base, le processus est simple et direct. \ud83d\ude80<\/p>\n<h2 id=\"que-es-compilar-desde-fuente\">Qu&#039;est-ce que la compilation \u00e0 partir du code source\u00a0?<\/h2>\n<p>Les programmes que vous utilisez peuvent \u00eatre interpr\u00e9t\u00e9s ou compil\u00e9s. Les programmes interpr\u00e9t\u00e9s sont des fichiers texte contenant du code qu&#039;un autre programme (l&#039;interpr\u00e9teur) ex\u00e9cute en temps r\u00e9el. Les programmes compil\u00e9s, quant \u00e0 eux, sont des fichiers binaires contenant du code machine pr\u00eat \u00e0 \u00eatre ex\u00e9cut\u00e9.<\/p>\n<p>Les ex\u00e9cutables compil\u00e9s sont tr\u00e8s courants, surtout dans les programmes volumineux. Lorsque vous compilez \u00e0 partir du code source, vous<a href=\"https:\/\/pt.wikipedia.org\/wiki\/GNU_Compiler_Collection\" target=\"_blank\" rel=\"noopener\" data-schema-attribute=\"mentions\">sas un compilateur comme <code>gcc<\/code><\/a> pour convertir le code en un programme ex\u00e9cutable, souvent distribu\u00e9 sur plusieurs fichiers.<\/p>\n<figure><picture><source media=\"(min-width: 1024px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 768px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 481px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 0px)\" data-=\"\" \/><\/picture> <picture><img decoding=\"async\" style=\"display: block; height: auto; max-width: 100%;\" src=\"https:\/\/mastertrend.info\/wp-content\/uploads\/2025\/04\/Construye-software-Linux-desde-el-codigo-fuente-en-3-sencillos.jpg\" alt=\"Terminal Linux montrant l&#039;installation de Steam avec des commandes.\" width=\"2100\" height=\"1400\" title=\"\"><\/picture><\/figure>\n<p>Le processus de compilation peut \u00eatre long et complexe, c&#039;est pourquoi il est g\u00e9n\u00e9ralement automatis\u00e9 avec des programmes tels que <code>faire<\/code>. Les fichiers <em>fichiers makefiles<\/em> contr\u00f4ler la mani\u00e8re dont l&#039;ex\u00e9cutable final est construit.<\/p>\n<p>Dans les grands projets, ces <em>fichiers makefiles<\/em> Ils peuvent \u00eatre si complexes qu\u2019ils sont g\u00e9n\u00e9r\u00e9s automatiquement avec des outils tels que <em>autoconf<\/em> et <em>marque automobile<\/em> pour assurer la compatibilit\u00e9 entre diff\u00e9rentes architectures. \ud83d\udee0\ufe0f<\/p>\n<h2 id=\"proceso-3-pasos-configure-make-install\">Processus de construction en 3 \u00e9tapes\u00a0: configuration, cr\u00e9ation, installation<\/h2>\n<p>La plupart des logiciels utilisent ce mod\u00e8le de base pour compiler \u00e0 partir du code source\u00a0:<\/p>\n<pre><code class=\"hljs bash\">.\/configure &amp;&amp; make &amp;&amp; make install\r\n<\/code><\/pre>\n<p>Les programmes populaires comme Apache utilisent cette s\u00e9quence (ou une variante), comme <a title=\"La structure des r\u00e9pertoires Linux, expliqu\u00e9e\" href=\"https:\/\/mastertrend.info\/fr\/structure-du-repertoire-linux\/\" target=\"_blank\" rel=\"noopener\" data-wpil-monitor-id=\"6412\">explique son dossier<\/a> INSTALLER:<\/p>\n<figure><picture><source media=\"(min-width: 1024px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 768px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 481px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 0px)\" data-=\"\" \/><\/picture> <picture><img decoding=\"async\" style=\"display: block; height: auto; max-width: 100%;\" src=\"https:\/\/mastertrend.info\/wp-content\/uploads\/2025\/04\/Construye-software-Linux-desde-el-codigo-fuente-en-3-sencillos.png\" alt=\"Fragment de fichier Apache INSTALL montrant les \u00e9tapes .\/configure, make et make install.\" width=\"997\" height=\"461\" title=\"\"><\/picture><\/figure>\n<p>Node.js suit \u00e9galement cette structure, comme indiqu\u00e9 dans son fichier BUILDING.md :<\/p>\n<figure><picture><source media=\"(min-width: 1024px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 768px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 481px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 0px)\" data-=\"\" \/><\/picture> <picture><img decoding=\"async\" style=\"display: block; height: auto; max-width: 100%;\" src=\"https:\/\/mastertrend.info\/wp-content\/uploads\/2025\/04\/1745710606_229_Construye-software-Linux-desde-el-codigo-fuente-en-3-sencillos.png\" alt=\"Extrait du fichier Node.js BUILDING.md montrant .\/configure, make et make install.\" width=\"1294\" height=\"711\" title=\"\"><\/picture><\/figure>\n<p>Chaque projet peut pr\u00e9senter de l\u00e9g\u00e8res variations par rapport \u00e0 cette cha\u00eene de commande. Utilisez l&#039;op\u00e9rateur logique ET (<code>&&<\/code>) arr\u00eate le processus si une \u00e9tape \u00e9choue\u00a0:<\/p>\n<pre><code class=\"hljs bash\">.\/configure &amp;&amp; make &amp;&amp; make install\r\n<\/code><\/pre>\n<p>Ou vous pouvez ex\u00e9cuter chaque commande s\u00e9par\u00e9ment sur une seule ligne avec un point-virgule, bien que cela ex\u00e9cutera toutes les commandes sans s&#039;arr\u00eater si l&#039;une d&#039;elles \u00e9choue\u00a0:<\/p>\n<pre><code class=\"hljs bash\">.\/configure; faire; faire installer\r\n<\/code><\/pre>\n<p>Vous pouvez \u00e9galement faire les trois lignes s\u00e9par\u00e9ment :<\/p>\n<pre><code class=\"hljs bash\">.\/configurer faire faire installer\r\n<\/code><\/pre>\n<p>Si vous souhaitez simplement essayer le programme sans l&#039;installer, vous pouvez ignorer <code>faire installer<\/code> et ex\u00e9cutez-le depuis son dossier.<\/p>\n<section class=\"emaki-custom-block emaki-custom-tip\" data-nosnippet=\"\">Certains r\u00e9f\u00e9rentiels ont le script <code>configurer<\/code> Pr\u00eat, tandis que d&#039;autres (comme grep) n\u00e9cessitent l&#039;ex\u00e9cution pr\u00e9alable d&#039;un autre script pour \u00eatre g\u00e9n\u00e9r\u00e9s. Consultez toujours les fichiers INSTALL, BUILD ou README pour suivre les recommandations du projet. \ud83d\udccb<\/section>\n<h2 id=\"como-inicia-configure\">Comment .\/configure d\u00e9marre le processus<\/h2>\n<p>Le sc\u00e9nario <code>configurer<\/code> C&#039;est le point de d\u00e9part du processus de compilation, adaptant le projet \u00e0 votre environnement.<\/p>\n<p>Ce script v\u00e9rifie les d\u00e9pendances n\u00e9cessaires au projet, en v\u00e9rifiant les versions et la disponibilit\u00e9. Une fois termin\u00e9, il g\u00e9n\u00e8re un fichier nomm\u00e9 <code>Makefile<\/code> pour la phase suivante.<\/p>\n<p>Le sc\u00e9nario <code>configurer<\/code> offre de nombreuses options configurables avec <code>.\/configure --help<\/code>, vous permettant de personnaliser les d\u00e9tails de la construction.<\/p>\n<section class=\"emaki-custom-block emaki-custom-tip\" data-nosnippet=\"\">Tellement <code>configurer<\/code> comme <code>faire<\/code> g\u00e9n\u00e9rer beaucoup de sortie \u00e0 l&#039;\u00e9cran. Utilisez l&#039;option <code>--calme<\/code> si vous souhaitez ex\u00e9cuter ces commandes sans afficher autant de d\u00e9tails. \ud83e\udd2b<\/section>\n<p>Si le script est manquant <code>configurer<\/code>, certains projets incluent un script comme <code>autogen.sh<\/code> Pour le g\u00e9n\u00e9rer. Par exemple, htop l&#039;utilise\u00a0:<\/p>\n<figure><picture><source media=\"(min-width: 1024px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 768px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 481px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 0px)\" data-=\"\" \/><\/picture> <picture><img decoding=\"async\" style=\"display: block; height: auto; max-width: 100%;\" src=\"https:\/\/mastertrend.info\/wp-content\/uploads\/2025\/04\/1745710607_775_Construye-software-Linux-desde-el-codigo-fuente-en-3-sencillos.png\" alt=\"Sortie du script autogen.sh dans le code source htop g\u00e9n\u00e9rant la configuration.\" width=\"877\" height=\"621\" title=\"\"><\/picture><\/figure>\n<p>Les projets tr\u00e8s simples ou les projets \u00e9crits dans d\u2019autres langues peuvent ne pas avoir <code>configurer<\/code>. L\u00e0, le processus se d\u00e9roule en deux \u00e9tapes : <code>faire &amp;&amp; faire installer<\/code>.<\/p>\n<p>Le sc\u00e9nario <code>configurer<\/code> Il contr\u00f4le \u00e9galement les d\u00e9tails de l&#039;installation, tels que le param\u00e8tre <code>--pr\u00e9fixe<\/code>, qui d\u00e9finit le r\u00e9pertoire racine d&#039;installation. Par d\u00e9faut, c&#039;est <code>\/usr\/local<\/code>, mais vous pouvez le modifier pour mieux organiser vos fichiers.<\/p>\n<h2 id=\"hacer-la-mayor-parte-del-trabajo\">faire fait la plupart du travail<\/h2>\n<p>Apr\u00e8s <code>configurer<\/code> g\u00e9n\u00e8re un <code>Makefile<\/code>, la compilation proprement dite du logiciel commence par <code>faire<\/code>.<\/p>\n<p>Ce programme lit le <code>Makefile<\/code> et suit des r\u00e8gles pour d\u00e9cider quels fichiers cr\u00e9er ou mettre \u00e0 jour. <code>Makefiles<\/code> Les manuscrits sont faciles \u00e0 comprendre pour ceux qui connaissent la syntaxe.<\/p>\n<p>Par exemple, celui-ci <code>Makefile<\/code> compile simplement un programme qui d\u00e9pend du fichier <code>programme.c<\/code>:<\/p>\n<pre><code class=\"hljs makefile\">programme : programme.c gcc -o programme programme.c\r\n<\/code><\/pre>\n<p><code>faire<\/code> v\u00e9rifier si <code>programme.c<\/code> modifi\u00e9 depuis la derni\u00e8re compilation. Si cela n&#039;a pas chang\u00e9, ne rien faire\u00a0; sinon, compiler avec <code>gcc<\/code>.<\/p>\n<figure><picture><source media=\"(min-width: 1024px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 768px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 481px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 0px)\" data-=\"\" \/><\/picture> <picture><img decoding=\"async\" style=\"display: block; height: auto; max-width: 100%;\" src=\"https:\/\/mastertrend.info\/wp-content\/uploads\/2025\/04\/1745710607_894_Construye-software-Linux-desde-el-codigo-fuente-en-3-sencillos.jpg\" alt=\"Gros plan des touches \u00e9clair\u00e9es du Das Keyboard 6 Professional.\" width=\"1920\" height=\"1080\" title=\"\"><\/picture><\/figure>\n<p>Le <code>fichiers makefiles<\/code> g\u00e9n\u00e9r\u00e9s automatiquement sont g\u00e9n\u00e9ralement beaucoup plus complexes. Par exemple, <code>fichier makefile<\/code> htop comporte 2 440 lignes :<\/p>\n<figure><picture><source media=\"(min-width: 1024px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 768px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 481px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 0px)\" data-=\"\" \/><\/picture> <picture><img decoding=\"async\" style=\"display: block; height: auto; max-width: 100%;\" src=\"https:\/\/mastertrend.info\/wp-content\/uploads\/2025\/04\/1745710607_705_Construye-software-Linux-desde-el-codigo-fuente-en-3-sencillos.png\" alt=\"Fragment du Makefile auto-g\u00e9n\u00e9r\u00e9 pour le projet htop.\" width=\"850\" height=\"660\" title=\"\"><\/picture><\/figure>\n<p>Mais vous n&#039;avez pas besoin de comprendre tous les d\u00e9tails. \u00c0 moins de modifier le code source, ex\u00e9cutez-le simplement. <code>faire<\/code> et laissez le syst\u00e8me s&#039;en occuper.<\/p>\n<p>L&#039;\u00e9tape <code>faire<\/code> Cela peut prendre quelques minutes, voire plus, pour les projets volumineux. En cas d&#039;\u00e9chec, c&#039;est g\u00e9n\u00e9ralement d\u00fb \u00e0 des d\u00e9pendances manquantes. L&#039;avantage est que <code>faire<\/code> enregistre la progression et reprend l\u00e0 o\u00f9 elle s&#039;est arr\u00eat\u00e9e lorsque vous ex\u00e9cutez \u00e0 nouveau.<\/p>\n<h2 id=\"finalizando-con-make-install\">Terminer avec make install<\/h2>\n<p>Apr\u00e8s la compilation, l&#039;ex\u00e9cutable cr\u00e9\u00e9 est g\u00e9n\u00e9ralement situ\u00e9 \u00e0 la racine du projet ou dans un sous-r\u00e9pertoire appel\u00e9 <code>poubelle<\/code>. Vous pouvez l&#039;ex\u00e9cuter en utilisant le chemin complet\u00a0:<\/p>\n<figure><picture><source media=\"(min-width: 1024px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 768px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 481px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 0px)\" data-=\"\" \/><\/picture> <picture><img decoding=\"async\" style=\"display: block; height: auto; max-width: 100%;\" src=\"https:\/\/mastertrend.info\/wp-content\/uploads\/2025\/04\/1745710607_488_Construye-software-Linux-desde-el-codigo-fuente-en-3-sencillos.png\" alt=\"L&#039;ex\u00e9cution de make dans le r\u00e9pertoire cli cr\u00e9e un sous-r\u00e9pertoire bin avec l&#039;ex\u00e9cutable final.\" width=\"862\" height=\"381\" title=\"\"><\/picture><\/figure>\n<p>Ceci est utile pour les tests, mais \u00e0 long terme, vous souhaiterez l&#039;installer dans un endroit accessible.<\/p>\n<p>L&#039;objectif <code>installer<\/code> qui d\u00e9finit le <code>fichier makefile<\/code> Copiez les fichiers n\u00e9cessaires et d\u00e9finissez les autorisations. L&#039;emplacement par d\u00e9faut est <code>\/usr\/local\/bin<\/code>, bien que vous puissiez le changer avec <code>--pr\u00e9fixe<\/code>.<\/p>\n<p>Si vous n&#039;avez pas les autorisations pour ce dossier, ex\u00e9cutez <code>sudo make install<\/code> et fournit le mot de passe administrateur.<\/p>\n<p>Le r\u00e9pertoire d&#039;installation doit \u00eatre inclus dans votre variable <code>CHEMIN<\/code> pour pouvoir ex\u00e9cuter le programme avec juste son nom, sans sp\u00e9cifier le chemin complet.<\/p>\n<figure><picture><source media=\"(min-width: 1024px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 768px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 481px)\" data-=\"\" \/><\/picture> <picture><source media=\"(min-width: 0px)\" data-=\"\" \/><\/picture> <picture><\/picture><\/figure>","protected":false},"excerpt":{"rendered":"<p>Compilar en Linux: domina .\/configure &#038;&#038; make &#038;&#038; make install en 3 pasos, evita paquetes y gana control total del software ahora mismo. \ud83d\udee0\ufe0f\u26a1<\/p>","protected":false},"author":1,"featured_media":72931,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ai_generated_summary":"","iawp_total_views":68,"jnews-multi-image_gallery":[],"jnews_single_post":{"format":"standard","override":[{"template":"1","parallax":"1","fullscreen":"1","layout":"right-sidebar","sidebar":"default-sidebar","second_sidebar":"default-sidebar","sticky_sidebar":"1","share_position":"top","share_float_style":"share-monocrhome","show_share_counter":"1","show_view_counter":"1","show_featured":"1","show_post_meta":"1","show_post_author":"1","show_post_author_image":"1","show_post_date":"1","post_date_format":"default","post_date_format_custom":"Y\/m\/d","show_post_category":"1","show_post_reading_time":"1","post_reading_time_wpm":"300","post_calculate_word_method":"str_word_count","show_zoom_button":"1","zoom_button_out_step":"2","zoom_button_in_step":"3","show_post_tag":"1","show_prev_next_post":"1","show_popup_post":"1","number_popup_post":"1","show_author_box":"1","show_post_related":"0","show_inline_post_related":"0"}],"image_override":[{"single_post_thumbnail_size":"crop-500","single_post_gallery_size":"crop-500"}],"trending_post_position":"meta","trending_post_label":"Trending","sponsored_post_label":"Sponsored by","disable_ad":"0","subtitle":""},"jnews_primary_category":[],"jnews_social_meta":[],"jnews_review":[],"enable_review":"","type":"percentage","name":"","summary":"","brand":"","sku":"","good":[],"bad":[],"score_override":"","override_value":"","rating":[],"price":[],"jnews_override_counter":{"view_counter_number":"0","share_counter_number":"0","like_counter_number":"0","dislike_counter_number":"0"},"footnotes":""},"categories":[1435],"tags":[1445,1821,1558],"class_list":["post-46498","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutoriales","tag-evergreencontent","tag-linux","tag-techtips"],"_links":{"self":[{"href":"https:\/\/mastertrend.info\/fr\/wp-json\/wp\/v2\/posts\/46498","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mastertrend.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mastertrend.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mastertrend.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mastertrend.info\/fr\/wp-json\/wp\/v2\/comments?post=46498"}],"version-history":[{"count":0,"href":"https:\/\/mastertrend.info\/fr\/wp-json\/wp\/v2\/posts\/46498\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mastertrend.info\/fr\/wp-json\/wp\/v2\/media\/72931"}],"wp:attachment":[{"href":"https:\/\/mastertrend.info\/fr\/wp-json\/wp\/v2\/media?parent=46498"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mastertrend.info\/fr\/wp-json\/wp\/v2\/categories?post=46498"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mastertrend.info\/fr\/wp-json\/wp\/v2\/tags?post=46498"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}