Hallo, in einem Projekt, das mit Autotools gebaut wird, wird die LDFLAG -export-symbol-regex benutzt. In der von Autotools generierten Makefile finde ich wieder die LDFLAG -export-symbol-regex. Aber -export-symbol-regex ist doch keine reguläre GCC-Linker-Flag, oder? Wie wird die Flag dann in der Makefile verarbeitet? Und kann ich in meiner selbstgeschriebenen Makefile -export-symbol-regex einfach verwenden?
embert schrieb: > Aber -export-symbol-regex ist doch keine reguläre GCC-Linker-Flag, oder? es steht zumindest in der doku https://www.gnu.org/software/libtool/manual/html_node/Link-mode.html
Hmm, das funktioniert bei mir aber nicht.
1 | /* libso.c */
|
2 | foo(); |
1 | # Makefile |
2 | LDFLAGS += -export-symbols-regex 'foo' |
1 | $ make |
2 | bin/arm-linux-gnueabihf-ld: cannot find foo: Datei oder Verzeichnis nicht gefunden |
embert schrieb: > -export-symbols-regex Klingt für mich als eine Option mit der man alle Symbole exportieren kann die einem regulärem Ausdruck entsprechen z.B. probier mal # Makefile LDFLAGS += -export-symbols-regex '[A-Za-z0-9]' m.f.G. Dieter Gräf
Dieter Graef schrieb: > LDFLAGS += -export-symbols-regex '[A-Za-z0-9]' > LDFLAGS += -export-symbols-regex [A-Za-z0-9] Nee, der frisst beides nicht:
1 | arm-linux-gnueabihf-ld: cannot find [A-Za-z0-9]: Datei oder Verzeichnis nicht gefunden |
Aber es ist doch so, dass Autotools, Libtools etc. nur eine Makefile erstellen, und zu guter Letzt GCC o.ä. die Sachen bauen. Also entweder kann GCC mit dem Flag umgehen, oder sie muss noch irgendwie für GCC übersetzt werden.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.