4 Stimmen

Boost vorkompilierte Header Problem

Ich versuche, Boost-Header vorzukompilieren.

Erstes Experiment - mit std:: Kopfzeilen. Ich erstelle die Datei std.hpp:

#include <vector>
#include <iostream>
// And other std:: headers

Und dann:

g++ std.hpp

std.hpp.gch in /usr/include/c++/4.4.5 kopieren

Und schreiben Sie ein Testprogramm:

#include <std.hpp>

int main() {
    std::cout << "Hello, precompiled world!" << std::endl;
    return 0;
}

Funktioniert gut.

Versuchen Sie nun, Boost-Header vorzukompilieren.

Ich erstelle die Datei boost.hpp:

#include <boost/spirit/include/qi.hpp>
#include <boost/spirit/include/karma.hpp>

Und dann:

g++ boost.hpp

boost.hpp.gch in /usr/local/include/boost kopieren

Und schreiben Sie ein Testprogramm:

#include <boost/boost.hpp>

int main() {
    // Some code...
    return 0;
}

Aber ich bekomme einen Fehler:

main.cpp:2:33: error: /usr/local/include/boost/boost.hpp: No such file or directory.

Probieren Sie es aus:

#include </usr/local/include/boost/boost.hpp>

int main() {
    // Some code...
    return 0;
}

Derselbe Fehler.

Versuchen Sie, boost.hpp.gch an eine andere Stelle zu kopieren - gleicher Fehler.

Wenn ich die Datei boost.hpp an der gleichen Stelle - funktioniert gut (so gibt es keine Probleme mit Pfad):

ls /usr/local/include/boost | grep boost
boost.hpp
boost.hpp.gch

So Compiler verwenden boost.hpp Header. Aber warum Compiler nicht sehen, vorkompilierte boost.hpp.gch?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X