GNU/Linux >> Znalost Linux >  >> Linux

Problém se sestavením GCC (#include_next limited.h)

Čelil jsem svému problému s kompilací s STLport 5.1.5, ale zdá se, že problém je vyřešen je STLport 5.2.0. Problém je zdokumentován v poznámkách k vydání STLport. Po získání kopie STLport 5.2.1 proběhla kompilace úspěšně bez škytavky.


Setkal jsem se s tímto problémem při křížové kompilaci. Když spustíte 'make Depend', Makefile vyvolá program makedepend, jak je vidět z tohoto zadání:

MAKEDEPPROG=makedepend

makedepend prohledává pouze některé výchozí adresáře include začínající /usr/include

Od #include_next direktiva znamená zahrnout další nalezenou instanci pojmenovaného souboru include do vyhledávací cesty, to selže, pokud nebude nalezena jiná.

Pro mě bylo řešením nasměrovat makedepend, abych nejprve prohledal můj cross-compiler include adresáře. Udělal jsem to změnou MAKEDEPPROG přiřazení zahrnout -I směrnice:

MAKEDEPPROG=makedepend -I < path/to/cross-compiler/include-fixed >

Doporučuji přečíst si o programu makedepend (o kterém jsem předtím nic nevěděl). Například mi nebylo zřejmé, že makedepend nebude používat cestu pro vyhledávání prostředí. -I direktiva umístí zadanou vyhledávací cestu před výchozí cesty makedepend.


Linux
  1. Jak sestavit rpm balíčky

  2. Problém s výběrem/zvýrazněním textu?

  3. Zvýšit číslo sestavení v Bash?

  1. Omezení vyhledávání DNS

  2. Jak přidat výchozí zahrnutou cestu pro GCC v Linuxu?

  3. Cross-compiler pro Linux na Mac OS X?

  1. gradle:příkaz nenalezen

  2. Jak zahrnout potřebnou knihovnu C pomocí gcc?

  3. Jak zahrnout statickou knihovnu do makefile