Frage

Ich bin die Boost-Präprozessor Bibliothek Lernen (weil ich brauche, es zu benutzen), und ich wollte die Datei Iteration Mechanismus, um zu versuchen. Ich habe ein Minimalprojekt mit a.cpp und b.hpp eingerichtet. Was ich versuche ist, darunter viele Zeit b.hpp über die Boost pp zu tun:

#include <boost/preprocessor/iteration/iterate.hpp>

#define BOOST_PP_ITERATION_LIMITS (0, 5)
#define BOOST_PP_FILENAME_1 "b.hpp"
#include BOOST_PP_ITERATE()

Wenn ich versuche zu kompilieren (mit -E das Präprozessor Ergebnis zu sehen):

g++ -E a.cpp > pp_result

Ich habe diesen Fehler:

  

In Datei von a.cpp enthalten:   /usr/local/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:37: Fehler: b.hpp: Keine solche Datei oder das Verzeichnis

b.hpp im selben Verzeichnis ist, kann ich nicht sehen, was ich falsch bin dooing. Es scheint, den g ++ sucht b.hpp im selben Verzeichnis wie forward1.hpp, aber nach der Boost-Dokumentation sollte mein Code arbeiten (meine Boost-Version ist 1,44).

Does erlebt jemand das gleiche Problem?

War es hilfreich?

Lösung

Ja, müssen Sie -I. an die Befehlszeile hinzuzufügen, um es Arbeit zu machen. Dies fügt das Verzeichnis, das Sie gcc in gestartet den Pfad suchen sind, so dass der Compiler die Datei b.hpp finden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top