GCC Build Problem (#include_next limits.h)

9

Wenn ich versuche

%Vor%

eine Middleware auf meinem Ubuntu-Rechner bekomme ich das

%Vor%

Dies ist der Inhalt von limits.h: 125:

%Vor%

Ich habe versucht,

einzustellen %Vor%

(wo ich eine andere limits.h auf meinem System gefunden habe). Ich habe bereits libc6-dev installiert, könnte es sein, dass limits.h von einem anderen Paket überschrieben wurde? Brauche ich ein anderes -dev-Paket? Oder ist eine Umgebungsvariable erforderlich? vielleicht könnte das auf eine andere Weise umgangen werden?

    
Jonas Byström 16.05.2009, 08:01
quelle

5 Antworten

1

Das Paket, das Sie brauchen, ist glibc.

    
ferdna 26.12.2009, 21:39
quelle
2

Ich hatte mein Problem mit dem Kompilieren von STLport 5.1.5, aber das Problem ist behoben ist STLport 5.2.0. Das Problem ist in den Release-Informationen von STLport dokumentiert. Nachdem eine Kopie von STLport 5.2.1 erstellt wurde, lief die Kompilierung erfolgreich ohne Schluckauf.

    
sudar 16.06.2011 05:21
quelle
2

Ich habe dieses Problem bei einem Cross-Compile festgestellt. Wenn Sie eine make make depend ausführen, ruft das Makefile das makedepend-Programm auf, wie aus dieser Zuweisung ersichtlich:

%Vor%

makedepend durchsucht nur einige Standard-Include-Verzeichnisse, die mit /usr/include

beginnen

Da die Anweisung #include_next bedeutet, dass die nächste gefundene Instanz der benannten Include-Datei in den Suchpfad eingeschlossen wird, schlägt dies fehl, wenn keine andere gefunden wird.

Für mich bestand die Lösung darin, makedepend zu veranlassen, zuerst meine Cross-Compiler-Include-Verzeichnisse zu suchen. Ich habe dies getan, indem ich die MAKEDEPPROG Zuweisung so geändert habe, dass sie die -I Direktive enthält:

%Vor%

Ich empfehle, über das Programm von makedepend zu lesen (über das ich vorher nichts wusste). Zum Beispiel war es für mich nicht offensichtlich, dass makedepend keinen Umgebungssuchpfad verwendet. Die Direktive -I setzt den angegebenen Suchpfad vor die Standardpfade von makedepend.

    
JSAnderson 22.02.2016 19:32
quelle
0

Verwenden Sie #include_next <limits.h> (gcc-Erweiterung), um zu erzwingen, dass gcc im Include-Pfad auf die nächste gefundene limits.h schaut (was die Kopie des Toolsets sein sollte).

    
ASk 16.05.2009 08:13
quelle
0

Ich erinnere mich nicht mehr genau an die Auflösung, aber es hatte etwas mit einem fehlenden Paket zu tun. Nachdem ich ein paar mehr Sachen bekommen hatte, funktionierte es für mich.

    
Jonas Byström 10.08.2009 09:35
quelle

Tags und Links