2016-04-20 12 views

Antwort

1

Der Compiler kennt die Position der Header-Dateien auf der Build-Konfiguration basiert. In gcc ist es möglich, das Header-Verzeichnis über -I-Flag (z.B. -I/usr/local/include) zu definieren.

Um zu überprüfen, in welchem ​​Verzeichnis der Compiler nach Ihrer Headerdatei sucht, sehen Sie sich die Zeichenfolge an, die den letzten Compilerbefehl vor dem Fehler anzeigt.

Sie müssen etwas wie gcc -I usw. finden ... wo Verzeichnis ist das Verzeichnis, in dem es sucht.

Wie auch immer, ich habe gerade xerces-c-3-1-3 von der Kommandozeile auf meinem Ubuntu 14.04 LTS zusammengestellt XERCES_ROOT ohne zu definieren, mit den folgenden Schritten:

  1. Herunterladen von this site
  2. tar zxvf
  3. xerces
  4. configure
  5. machen

und es funktioniert ohne Fehler.

+0

Ok, das macht Sinn, ich konnte auch 3.1.3 kompilieren, aber leider muss ich 2.7.0 verwenden, das ich nicht kompilieren kann. Ich werde einen Include-Pfad angeben. – iheartcpp

+0

Benötigen Sie 2.7.0 aus einem bestimmten Grund? Ich habe keine Quelle für diese Version auf der offiziellen Website gefunden (http://archive.apache.org/dist/xerces/c/2/), sondern nur 2.8.0. Könnte 2.8.0 mit Ihrem Quellcode kompatibel sein? Es ist auch als vorkompilierte Binärdateien verfügbar (http://archive.apache.org/dist/xerces/c/2/binaries/). –