Javítás: Nincs megadva célok és nem található makefile.



Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére

Akár az Ubuntuval, akár a Debian-nal, vagy a Red Hat-kel dolgozik, előfordulhat, hogy a következő hibaüzenet jelenik meg: *** Nincsenek megadva célok és nem található makefile. Álljon meg. Mivel ez egy általános kérdés, amely a GNU Make egészével kapcsolatos, számtalan Unix implementáción láthatja. Ez azt jelenti, hogy a jelenlegi munkakönyvtárban nincs egy makefile vagy Makefile nevű fájl. Szerencsére ez könnyen kijavítható hiba.



1. módszer: Makefile keresése az aktuális könyvtárban

Kipróbálhatja a készítsen parancsot adjon még egyszer az aktuális könyvtárban, hogy lássa, nem dobja-e ugyanez a hiba. Ez különösen akkor fontos, ha megnyitott egy új terminálablakot, és már megpróbálta megtalálni a megfelelő könyvtárat, vagy ha a GNU make futtatásának legutóbbi ideje óta használta a cd parancsot.



Feltéve, hogy ez megtörténik, próbálkozzon a ls vagy neked parancsot az aktuális könyvtárban található fájlok megtekintéséhez. Lehet, hogy nem a címtárfa megfelelő részén található. Ha azt észleli, hogy olyan könyvtárakat lát, amelyek a gyökér / könyvtárba vagy a home ~ könyvtárba tartoznak, akkor futtassa a cd parancsot, hogy a make parancs futtatásához a megfelelő helyre helyezze magát.

Van esély arra, hogy még messzebb találja magát attól a helytől, ahol várható. Példánkban megpróbáltuk a make futtatását a / var / crash könyvtárból, és megállapítottuk, hogy egyáltalán nem működik. Nem várható el, hogy innen fut, mivel az egyetlen fájl ebben a bizonyos helyen nem kapcsolódó összeomlási jelentésekből származik.

Több mint valószínű, hogy a make parancsot egy olyan könyvtárból akarja futtatni, amely valahol az otthoni könyvtárban található. Például, ha a GNU nano legújabb verzióját építed forrásból, akkor valószínűleg egy könyvtárad található a ~ / nano-2.9.6 címen, ahová cd-t adhatsz, majd újra futtathatod a make-t. Érdemes kipróbálni a futást ls még egyszer, mielőtt megpróbálna megbizonyosodni arról, hogy van-e egy makefile a könyvtárban, ahonnan fel lehet építeni.

Ne feledje, hogy először konfigurálnia kell a telepítést. A configure parancs tökéletes környezetet teremt a GNU fordító virágzásához. Ha még a megfelelő projektkönyvtárban sem talál makefile-t, akkor futtassa ./Beállítás miközben még benne vagy, utána következik a készítsen parancs. Ha ez fordítás helyesen történik, akkor a projekttel együtt telepítheti sudo make install , de ne feledje, hogy semmit sem akar root-ként felépíteni, így soha nem akarja futtatni a sudo make vagy bármi mást a telepítésen kívül.

2. módszer: Egyéni Makefile megadása

Ha feltételezzük, hogy ez megoldotta a problémát, akkor nem kell többet tennie. Két speciális felhasználási esetet kell figyelembe venni, ha az előző módszer nem oldotta meg a problémát. Mindkettő magában foglalja a saját makefile írását egy olyan projekthez, amelyet kézzel konfigurált.

A -f kapcsolóval megadhat egy egyéni makefile-t, amelyet másnak hívnak, mint a szó szerinti makefile. Például, ha volt egy makefile.bak nevű biztonsági mentésű makefile-je, akkor a futtatással megadhatja make -f makefile.bak parancssorból. A makefile.bak fájlt bármilyen fájlnévre cserélheti, és felveheti az -i opciót, ha a fordító futása közben figyelmen kívül akarja hagyni az egyedi vagy elavult makefile hibáit. Ez általában nem ajánlott, mivel valószínűleg szerkesztenie kell a makefile-ját, ha valami baj van vele.

A másik, nagyon szorosan kapcsolódó felhasználási eset olyan helyzetet foglal magában, ahol az ügy érzékenysége kérdés. A következők mindegyike különálló fájl a Unix üzletmenet során:

  • Makefile
  • makefile
  • makeFile
  • MakeFile
  • MakefilE

Előfordulhat, hogy az egyéni konfigurált programok nem ismerik fel a páratlan nagybetűs makefile-t. Ha kézzel írta egy kódolási projekthez, amelyen dolgozik, akkor valószínűleg át akarja nevezni a makefile-t, bár az -i kapcsolóval biztosíthatja, hogy a GNU make képes megtalálni. Ne feledje, hogy ha mindent helyesen írt, akkor továbbra is futtathatja a ./configure fájlt a saját projektjéből, hogy rákényszerítse a megfelelő környezet létrehozására és a probléma elkerülésére.

3 perc olvasás