Я начинаю думать о программировании для коммутации психической карьеры ...
Почему компоновщик ищет libm.a по абсолютному пути?
Потому что вы сказали ему сделать это. Скорее всего вы набрали
# There were some rules that build your own .a libs
myLib.a: ...
...
# Handy rule to direct your libs into lib/ folder!
vpath %.a /mypath/lib
appName: appName.o libm.a
g++ $^ -o [email protected]
Огонь! Вам нужна «система» libm.a
(это математическая библиотека, часть glibc), но make
считает, что вам нужна ваша собственная статическая библиотека. Затем он добавляет правильный префикс и не находит никакого правила переделывать libm.a
.
Решение может быть перемещено libm.a
из предпосылок. Это цель скрипта configure или специального назначения make sanity
, чтобы проверить наличие системных библиотек.
EXT_LIBS=libm.a
appName: appName.o
g++ $^ $(EXT_LIBS) -o [email protected]
Вам необходимо разместить свой файл makefile, чтобы узнать, что с ним не так. – kdt
Он-он, держу пари, он не нуждается *, но, конечно же, это было бы очень приятно :) –
Итак, Nathan, любые комментарии? Образцы кода, которые не работают? Что-нибудь? –