Używam biblioteki, która ma przykładową aplikację. Próbka makefile zawiera $<
w argumentach:
all:test.cpp
g++ -Wl,--no-as-needed -o Example $<
clean:
rm -f SampleApp11
Szukałem tego i tutorialspoint że
$ < nazwę powiązanego pliku, który spowodował działania.
Kolejne website stwierdza, że:
jest to reguła wymiana przyrostek na budowę .o jest z .c na używa zmiennych automatycznych $ <: nazwę przesłanki reguły (a. c plik) i $ @: nazwa celu reguły (plik .o) (patrz sekcja podręcznika gnu make o zmiennych automatycznych) .co: $ (CC) $ (CFLAGS) $ (ZAWIERA) -c $ < -o $ @
Wciąż jestem zdezorientowany, co to oznacza?
W twoim przykładzie jest to ** zależność (plik) po 'all:' cel - 'test.cpp'. – Galik
Ahh, więc '<$' mówi g ++, który plik do skompilowania, czy to prawda? –
Pamiętaj, że nie ma to nic wspólnego z g ++. To make, który zastępuje to przed wywołaniem g ++. g ++ nigdy nie widzi '$ <'. Jeśli tak, to potraktuje to jako nazwę pliku i prawdopodobnie wyda komunikat o błędzie, że żaden plik nie zostanie odnaleziony. – hvd