Ist es möglich, gcc vorkompilierte Header in Projekten zu verwenden, die automake / libtool verwenden?
Das Hinzufügen neuer make-Regeln zum Erstellen vorkompilierter Header ist nicht schwierig. Das Problem ist, dass Sie auch Kompilierungsflags hinzufügen müssen, die von libtool und AFAIK eingeführt wurden und keine Header-Eingabedateien verarbeiten können.
Wie können Sie das tun?
Problem ist, dass die Lösung nicht auf allen Systemen funktioniert; Libtool verwendet eine andere Compiler-Befehlszeile als $ (CXXCOMPILE). Wenn Sie also auf einigen Systemen libtool verwenden, können Sie den vorkompilierten Header nicht verwenden.
Ich habe noch keinen Weg gefunden, um dies zu umgehen; Ich habe versucht, $ (LTCXXCOMPILE) zu verwenden, aber es beklagt sich, dass es nicht weiß, wie man mit einer Headerdatei umgeht (sagt libtool: compile: cannot determine name of library object from 'project.hxx'
). Natürlich sollte man project.hxx.gch
als Ausgabedatei verwenden, aber ich sehe keine Möglichkeit, das Libtool-Skript zu modifizieren, und das würde den Zweck des GNU-Build-Systems zunichte machen ...
Ja - obwohl AFAIK gibt es noch keine integrierte Unterstützung für sie in automake.
Ich folgte diese Anweisungen und bekam vorkompilierte Header in einem meiner Projekte arbeiten, Bauzeiten in zwei Hälften geschnitten: -)
Tags und Links autotools precompiled-headers automake autoconf libtool