{"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":"kompilera-pa-linux","status":"publish","type":"post","link":"https:\/\/mastertrend.info\/sv\/compilar-en-linux\/","title":{"rendered":"Kompilera p\u00e5 Linux: K\u00f6r p\u00e5 n\u00e5gra minuter med 3 kommandon \u26a1"},"content":{"rendered":"<h2>Kompilera p\u00e5 Linux: 3 steg f\u00f6r att skapa bin\u00e4rfiler \ud83d\udd25<\/h2>\n<h3 class=\"title icon i-list\">Sammanfattning<\/h3>\n<ul>\n<li>De flesta programvaror f\u00f6ljer en 3-stegsprocess f\u00f6r att kompilera fr\u00e5n k\u00e4llkod: <code>.\/konfigurera &amp;&amp; skapa &amp;&amp; skapa installation<\/code>.<\/li>\n<li>Manuset <strong>konfigurera<\/strong> kontrollerar beroenden, <strong>g\u00f6ra<\/strong> genererar den k\u00f6rbara filen och verktyg som <em>autoconf\/automake<\/em> automatisera denna process.<\/li>\n<li>Installation \u00e4r vanligtvis valfri, vilket g\u00f6r det enklare att k\u00f6ra kommandon kopierade till kataloger i <code>V\u00c4G<\/code> av systemet.<\/li>\n<\/ul>\n<p>Att kompilera fr\u00e5n k\u00e4llkod kan verka skr\u00e4mmande j\u00e4mf\u00f6rt med att anv\u00e4nda pakethanterare, men med tre grundl\u00e4ggande kommandon \u00e4r processen enkel och okomplicerad. \ud83d\ude80<\/p>\n<h2 id=\"que-es-compilar-desde-fuente\">Vad \u00e4r kompilering fr\u00e5n k\u00e4llkod?<\/h2>\n<p>De program du anv\u00e4nder kan tolkas eller kompileras. Tolkade program \u00e4r textfiler som inneh\u00e5ller kod som ett annat program (tolkaren) exekverar i realtid. Kompilerade program, \u00e5 andra sidan, \u00e4r bin\u00e4ra filer som inneh\u00e5ller maskinkod redo att exekveras.<\/p>\n<p>Kompilerade k\u00f6rbara filer \u00e4r mycket vanliga, s\u00e4rskilt i stora program. N\u00e4r du kompilerar fr\u00e5n k\u00e4llkod,<a href=\"https:\/\/pt.wikipedia.org\/wiki\/GNU_Compiler_Collection\" target=\"_blank\" rel=\"noopener\" data-schema-attribute=\"mentions\">sas en kompilator som <code>gcc<\/code><\/a> f\u00f6r att konvertera koden till ett k\u00f6rbart program, ofta distribuerat \u00f6ver flera filer.<\/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=\"Linux-terminal som visar Steam-installation med kommandon.\" width=\"2100\" height=\"1400\" title=\"\"><\/picture><\/figure>\n<p>Kompileringsprocessen kan vara omfattande och komplex, vilket \u00e4r anledningen till att den vanligtvis automatiseras med program som <code>g\u00f6ra<\/code>Filerna <em>makefiles<\/em> kontrollera hur den slutliga k\u00f6rbara filen byggs.<\/p>\n<p>I stora projekt, dessa <em>makefiles<\/em> De kan vara s\u00e5 komplexa att de genereras automatiskt med verktyg som <em>autokonf<\/em> och <em>bilm\u00e4rke<\/em> f\u00f6r att s\u00e4kerst\u00e4lla kompatibilitet mellan olika arkitekturer. \ud83d\udee0\ufe0f<\/p>\n<h2 id=\"proceso-3-pasos-configure-make-install\">3-stegs byggprocess: Konfigurera, skapa, installera<\/h2>\n<p>De flesta programvaror anv\u00e4nder detta grundl\u00e4ggande m\u00f6nster f\u00f6r att kompilera fr\u00e5n k\u00e4llkod:<\/p>\n<pre><code class=\"hljs bash\">.\/konfigurera &amp;&amp; skapa &amp;&amp; skapa installation\r\n<\/code><\/pre>\n<p>Popul\u00e4ra program som Apache anv\u00e4nder den h\u00e4r sekvensen (eller n\u00e5gon variant), till exempel <a title=\"Linux-katalogstrukturen, f\u00f6rklarad\" href=\"https:\/\/mastertrend.info\/sv\/linux-katalogstruktur\/\" target=\"_blank\" rel=\"noopener\" data-wpil-monitor-id=\"6412\">f\u00f6rklarar sin fil<\/a> INSTALLERA:<\/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=\"Apache INSTALL-filfragment som visar installationsstegen .\/configure, make och make.\" width=\"997\" height=\"461\" title=\"\"><\/picture><\/figure>\n<p>Node.js f\u00f6ljer ocks\u00e5 denna struktur, vilket anges i dess BUILDING.md-fil:<\/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=\"Utdrag fr\u00e5n Node.js BUILDING.md-filen som visar .\/configure, make och make install.\" width=\"1294\" height=\"711\" title=\"\"><\/picture><\/figure>\n<p>Varje projekt kan ha sm\u00e5 variationer fr\u00e5n denna kommandostr\u00e4ng. Anv\u00e4nd den logiska OCH-operatorn (<code>&&<\/code>) stoppar processen om n\u00e5got steg misslyckas:<\/p>\n<pre><code class=\"hljs bash\">.\/konfigurera &amp;&amp; skapa &amp;&amp; skapa installation\r\n<\/code><\/pre>\n<p>Eller s\u00e5 kan du k\u00f6ra varje kommando separat p\u00e5 en enda rad med ett semikolon, \u00e4ven om detta kommer att k\u00f6ra alla kommandon utan att stoppa om n\u00e5got misslyckas:<\/p>\n<pre><code class=\"hljs bash\">.\/konfigurera; g\u00f6ra; g\u00f6ra installera\r\n<\/code><\/pre>\n<p>Du kan ocks\u00e5 g\u00f6ra de tre raderna separat:<\/p>\n<pre><code class=\"hljs bash\">.\/konfigurera make make installera\r\n<\/code><\/pre>\n<p>Om du bara vill testa programmet utan att installera det kan du hoppa \u00f6ver <code>installera<\/code> och k\u00f6r den fr\u00e5n dess mapp.<\/p>\n<section class=\"emaki-custom-block emaki-custom-tip\" data-nosnippet=\"\">Vissa arkiv har skriptet <code>konfigurera<\/code> Ready, medan andra (som grep) kr\u00e4ver att ett annat skript k\u00f6rs f\u00f6rst f\u00f6r att genereras. Se alltid INSTALL-, BUILD- eller README-filen f\u00f6r att f\u00f6lja projektets rekommendationer. \ud83d\udccb<\/section>\n<h2 id=\"como-inicia-configure\">Hur .\/configure startar processen<\/h2>\n<p>Manuset <code>konfigurera<\/code> Det \u00e4r utg\u00e5ngspunkten f\u00f6r kompileringsprocessen, d\u00e4r projektet anpassas till din milj\u00f6.<\/p>\n<p>Det h\u00e4r skriptet kontrollerar beroendena som kr\u00e4vs f\u00f6r projektet, versioner och tillg\u00e4nglighet. N\u00e4r det \u00e4r klart genereras en fil med namnet <code>Makefile<\/code> f\u00f6r n\u00e4sta fas.<\/p>\n<p>Manuset <code>konfigurera<\/code> erbjuder m\u00e5nga konfigurerbara alternativ med <code>.\/konfigurera --hj\u00e4lp<\/code>, s\u00e5 att du kan anpassa byggdetaljer.<\/p>\n<section class=\"emaki-custom-block emaki-custom-tip\" data-nosnippet=\"\">S\u00e5 mycket <code>konfigurera<\/code> som <code>g\u00f6ra<\/code> generera mycket utdata p\u00e5 sk\u00e4rmen. Anv\u00e4nd alternativet <code>--tyst<\/code> om du vill k\u00f6ra dessa kommandon utan att visa s\u00e5 mycket detaljer. \ud83e\udd2b<\/section>\n<p>Om manuset saknas <code>konfigurera<\/code>, vissa projekt inkluderar ett manus som <code>autogen.sh<\/code> f\u00f6r att generera den. Till exempel anv\u00e4nder htop den:<\/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=\"Utdata fr\u00e5n autogen.sh-skriptet i konfigurationen f\u00f6r att generera k\u00e4llkod f\u00f6r htop.\" width=\"877\" height=\"621\" title=\"\"><\/picture><\/figure>\n<p>Mycket enkla projekt eller projekt skrivna p\u00e5 andra spr\u00e5k kanske inte har <code>konfigurera<\/code>D\u00e4r \u00e4r processen i tv\u00e5 steg: <code>g\u00f6r &amp;&amp; g\u00f6r installera<\/code>.<\/p>\n<p>Manuset <code>konfigurera<\/code> Den styr \u00e4ven installationsdetaljer, s\u00e5som parametern <code>--prefix<\/code>, vilket anger installationens rotkatalog. Som standard \u00e4r det <code>\/usr\/local<\/code>, men du kan \u00e4ndra det f\u00f6r att organisera dina filer b\u00e4ttre.<\/p>\n<h2 id=\"hacer-la-mayor-parte-del-trabajo\">g\u00f6r det mesta av jobbet<\/h2>\n<p>Efter <code>konfigurera<\/code> genererar en <code>Makefile<\/code>, b\u00f6rjar sj\u00e4lva kompileringen av programvaran med <code>g\u00f6ra<\/code>.<\/p>\n<p>Det h\u00e4r programmet l\u00e4ser <code>Makefile<\/code> och f\u00f6ljer regler f\u00f6r att avg\u00f6ra vilka filer som ska skapas eller uppdateras. <code>Makefiles<\/code> handskrivna \u00e4r l\u00e4tta att f\u00f6rst\u00e5 f\u00f6r dem som k\u00e4nner till syntaxen.<\/p>\n<p>Till exempel den h\u00e4r <code>Makefile<\/code> simple kompilerar ett program som \u00e4r beroende av filen <code>program.c<\/code>:<\/p>\n<pre><code class=\"hljs makefile\">program: program.c gcc -o program program.c\r\n<\/code><\/pre>\n<p><code>g\u00f6ra<\/code> kontrollera om <code>program.c<\/code> \u00e4ndrats sedan den senaste kompileringen. Om det inte \u00e4ndrades, g\u00f6r ingenting; om det gjorde det, kompilera med <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=\"N\u00e4rbild av upplysta tangenter p\u00e5 Das Keyboard 6 Professional.\" width=\"1920\" height=\"1080\" title=\"\"><\/picture><\/figure>\n<p>De <code>makefiles<\/code> automatiskt genererade \u00e4r vanligtvis mycket mer komplexa. Till exempel <code>makefile<\/code> htop har 2 440 rader:<\/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 av den automatiskt genererade Makefile f\u00f6r htop-projektet.\" width=\"850\" height=\"660\" title=\"\"><\/picture><\/figure>\n<p>Men du beh\u00f6ver inte f\u00f6rst\u00e5 varje detalj. Om du inte \u00e4ndrar k\u00e4llkoden, k\u00f6r den bara. <code>g\u00f6ra<\/code> och l\u00e5ta systemet ta hand om det.<\/p>\n<p>Steget <code>g\u00f6ra<\/code> Det kan ta minuter eller l\u00e4ngre tid f\u00f6r stora projekt. Om det misslyckas beror det vanligtvis p\u00e5 saknade beroenden. F\u00f6rdelen \u00e4r att <code>g\u00f6ra<\/code> sparar framsteg och \u00e5terupptar d\u00e4r den slutade n\u00e4r du springer igen.<\/p>\n<h2 id=\"finalizando-con-make-install\">Avsluta med make install<\/h2>\n<p>Efter kompilering finns den skapade k\u00f6rbara filen vanligtvis i projektets rotkatalog eller i en underkatalog som heter <code>soptunna<\/code>Du kan k\u00f6ra den med hj\u00e4lp av den fullst\u00e4ndiga s\u00f6kv\u00e4gen:<\/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=\"Att k\u00f6ra make i cli-katalogen skapar en underkatalog f\u00f6r bin med den slutliga k\u00f6rbara filen.\" width=\"862\" height=\"381\" title=\"\"><\/picture><\/figure>\n<p>Detta \u00e4r anv\u00e4ndbart f\u00f6r testning, men i l\u00e4ngden vill du installera det p\u00e5 en l\u00e4ttillg\u00e4nglig plats.<\/p>\n<p>M\u00e5let <code>installera<\/code> som definierar <code>makefile<\/code> Kopiera n\u00f6dv\u00e4ndiga filer och ange beh\u00f6righeter. Standardplatsen \u00e4r <code>\/usr\/local\/bin<\/code>, \u00e4ven om du kan \u00e4ndra det med <code>--prefix<\/code>.<\/p>\n<p>Om du inte har beh\u00f6righet f\u00f6r den mappen, k\u00f6r <code>sudo make install<\/code> och anger administrat\u00f6rsl\u00f6senordet.<\/p>\n<p>Installationskatalogen m\u00e5ste inkluderas i din variabel <code>V\u00c4G<\/code> f\u00f6r att kunna k\u00f6ra programmet med bara dess namn, utan att ange hela s\u00f6kv\u00e4gen.<\/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":49,"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\/sv\/wp-json\/wp\/v2\/posts\/46498","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mastertrend.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mastertrend.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mastertrend.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mastertrend.info\/sv\/wp-json\/wp\/v2\/comments?post=46498"}],"version-history":[{"count":0,"href":"https:\/\/mastertrend.info\/sv\/wp-json\/wp\/v2\/posts\/46498\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mastertrend.info\/sv\/wp-json\/wp\/v2\/media\/72931"}],"wp:attachment":[{"href":"https:\/\/mastertrend.info\/sv\/wp-json\/wp\/v2\/media?parent=46498"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mastertrend.info\/sv\/wp-json\/wp\/v2\/categories?post=46498"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mastertrend.info\/sv\/wp-json\/wp\/v2\/tags?post=46498"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}