Как правильно облегчить библиотеку?

Тема в разделе "Arduino & Shields", создана пользователем AlexVS, 19 сен 2014.

  1. AlexVS

    AlexVS Гик

    Подскажите, как можно убрать из библиотеки не используемый код?
    Я так понимаю, что нужно положить h, cpp файлы в каталог с проектом и потом удалять не используемые функции?
    Например: Ethernet.h; Ethernet.cpp
    Но как только я скопировал Ethernet.cpp в локальную паку, после этого при компиляции лезут ошибки типа: 'W5100' was not declared in this scope.
    Получается что придется собрать все библиотеки объявленные в .cpp собрать в локальной паке?
     
  2. AlexVS

    AlexVS Гик

    Что, никто не подскажет? Или вопрос не корректен?
     
    Esc нравится это.
  3. Unixon

    Unixon Оракул Модератор

    Arduino IDE неправильно собирает проект, потому как у вас получается доступными несколько разных файлов с одинаковыми названиями. Лучше создайте свою библиотеку под другим названием и ее цепляйте.
     
    Esc нравится это.
  4. Unixon

    Unixon Оракул Модератор

    В отличие от большинства других C/C++ IDE, которые позволяют пользователю подробно настроить сборку проекта, Arduino IDE пытается взять эту функцию на себя и автоматически сочинить Makefile для сборки. Не знаю, какой конкретно алгоритм она использует, но проблемы со сборкой чуть более, чем тривиальных, скетчей периодически возникают.
     
  5. AlexVS

    AlexVS Гик

    Спасибо. Но вряд ли у меня хватит познаний в Си, для того что бы создать свою замену для Ethernet.h; Ethernet.cpp, с учетом того что там используются другие библиотеки.
     
  6. Unixon

    Unixon Оракул Модератор

    Какие еще знания? Копируете оригинальную Ethernet в какую-нибудь EthernetLite, файлы .h .cpp переименовываете аналогично, потом у себя в проекте меняете #include и начинаете выкидывать неиспользуемые куски, как вы и собирались.
     
  7. AlexVS

    AlexVS Гик

    Понятно.