objcopy dodaje ścieżkę do katalogu do nazwy symbolu
Wiążę się z używaniemobjcopy
włączenie binarnej postaci pliku tekstowego do pliku wykonywalnego. (W czasie wykonywania potrzebuję pliku jako łańcucha). Działa to dobrze, dopóki linker nie musi znaleźć odniesień z nazw symboli. Problemem jestobjcopy
poprzedza nazwy symboli ścieżką do pliku. Ponieważ używam GNU Autotools do wysyłania pakietu, ta zmieniona nazwa ścieżki zmienia się i nie wiem, jaki zewnętrzny symbol linkera użyć w programie C / C ++.
nm libtest.a |grep textfile
textfile.o:
00001d21 D _binary__home_git_textfile_end
00001d21 A _binary__home_git_textfile_size
00000000 D _binary__home_git_textfile_start
libtest.a
został wyprodukowany z (wyciąg z Makefile.am):
SUFFIXES = .txt
.txt.$(OBJEXT):
objcopy --input binary --output elf32-i386 --binary-architecture i386 SUFFIXES = .txt
.txt.$(OBJEXT):
objcopy --input binary --output elf32-i386 --binary-architecture i386 $< $@
lt; $@
Jak mogę powiedziećobjcopy
tylko dla nas trzon nazwy pliku jako symbole łącznika? Czy jest inny sposób na rozwiązanie tego problemu?