Как добавить свои cpp-файлы в Makefile

Мне удалось скомпилировать биткойн с помощью поставляемого скрипта configure/makefile. Теперь я хочу что-то написать сам и добавил папку в каталог src. Теперь проблема: как добавить файлы cpp в Makefile? При компиляции я получаю неопределенные ссылки на функции, которые я реализовал в своих файлах cpp. При просмотре моей папки нет файлов .o или чего-то подобного, поэтому я предполагаю, что они не скомпилированы. Я совершенно новичок в autoconf/automake и понятия не имею, как добавить что-то в эти сложные сценарии makefile/configure.

С наилучшими пожеланиями всем вам

Ответы (1)

Биткойн использует систему сборки autotools для сборки исходного кода. Это очень мощная, но печально известная запутанная система. Вам нужно будет отредактировать Makefile.amфайл, чтобы включить исходные файлы, которые вы хотите собрать, и указать компоновщику скомпилированные исходные коды. Затем вам нужно будет перезапустить части системы сборки ( automake, ./configure, и т. д.), чтобы восстановить Makefile.

Сложно сказать, как это сделать, поскольку вам нужно будет определить, от каких частей системы зависит ваш новый код, а какие — от вашего нового кода. Я предлагаю прочитать об автоинструментах, чтобы определить, что необходимо для ваших конкретных изменений кода.

Большое спасибо за ваш ответ, но я все еще не могу добавить свой файл в Makefile.am. При просмотре этого файла я не могу найти места, где упоминается файл .c/.cpp. Я также пытался перезапустить autoscan/autoconf/automake, и становилось все хуже и хуже :(
@GladHeAteHer, биткойн — сложный проект. В корневом каталоге Makefile.am будут перечислены подкаталоги, содержащие собственные файлы Makefile.am, которые, в свою очередь, указывают на другие подкаталоги с другими файлами Makefile.am. Именно в эти файлы вам нужно добавить свои новые файлы. Как я уже сказал в ответе, особенности будут определяться тем, что вы меняете, и в каком порядке это нужно компилировать. Я настоятельно рекомендую узнать больше об автоинструментах, прежде чем продолжить.
Спасибо, я нашел еще один Makefile.am, в который я мог добавить свои собственные файлы .cpp, и теперь он работает :)