import already defined in a different way

 

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

Я столкнулся со странный руганью при компиляции робота:

'#import' - import already defined in a different way   OrdersUsingMultipleMagics.mqh   15      1

Строка кода, на которую ругается компилятор начало импорта:

// ======================================================================= Включения и импорт внешних модулей =====================================================================+
#include   <HOZ_Code\Enums\TradingSignal.mqh>
#include   <HOZ_Code\Structures\DateTimeInstance.mqh>

#import     "Common\DataTypeRepresentation.ex4"
  string    truncatedMagic(int magic, char digitsToLeave);    // Возвращает Magic number усечённый до переданного количества цифр digitsToLeave
#import

т.е., именно, строка:

#import     "Common\DataTypeRepresentation.ex4"

На самом деле, в других местах функция truncatedMagic() из библиотеки DataTypeRepresentation не импортируется нигде. Вот что даёт поиск по терминалу:


На скрине видно, что я ищу по всем файлам truncatedMagic(int magic, char digitsToLeave) и нахожу это лишь в самой библиотеке DataTypeRepresentation, в которой эта функция реализована, в тестовом скрипте и в классе OrdersUsingMultipleMagics о котором я изначально упомянул. Я к тому, что функция truncatedMagic() из библиотеки  DataTypeRepresentation нигде больше не объявлена.

 Тогда почему компилятор ругается с поводом типа этот импорт уже объявлен в другом месте?

Имеется в ввиду не эту функцию, а любую другую? Но в библиотеке много функций и не все нужно везде. Я импортирую некоторые функции из библиотеки  DataTypeRepresentation в одном классе, в другом нужны другие и тд. Как сделать так, что бы компилятор не ругался?