- Можно ли закрывать ордера сигнала вручную?
- Советники: Сборщик тиков (TickSave)
- Файлы include в новом терминале
Если поможет, отрывок из Makefile который строил DLL в mingw gcc:
commonvars.dll: commonvars.o
gcc -shared -pthread -o commonvars.dll commonvars.o -Wl,--kill-at,--output-def,commonvars.def,--out-implib,commonvars.a
-pthread необязательно (это у меня просто там потоки и мутексы были)
и это для MT4 (то есть 32 бита).Не получается по прежнему не хочет видеть функции. Хотя в зависимостях все функции нашел, ума не приложу что ему нужно.
Cannot call 'DLLSample.dll::GetIntValue', 'DLLSample.dll' is not loaded
Cannot load 'C:\Program Files\MetaTrader 4 - RoboForex\MQL4\Libraries\DLLSample.dll' [126]
Проект я прикрепил, может в make файле что-то лишние?
На счет отладки, понял что отладчиком подключиться не получится к терминалу, буду через файл трассировать тогда.
Самое интересное ещё то, что подсунув либу из примера (103kb) и она тоже не работает....
Ваша dll зависит от libgcc_s_dw2-1.dll
Положите её в папку MQL4\Libraries.
А лучше постарайтесь избавиться от этой зависимости.
QT использует кучу своих Q...dll библиотек, и по дефолту не включает их в скомпилированное приложение или новую библиотеку, а использует динамически.
Сделайте так - создайте новое Qt приложение, добавьте в него весь код вашей библиотеки, и вызовите нужные функции в конструкторе приложения, например.
Запустите приложение (не через QtCreator, а даблкликом мышки по exe файлу), в итоге увидите кучу ошибок о зависимостях, там будет не только libgcc_s_dw2-1.dll но и куча недостающих Q....dll файлов.
Ищите эти файлы где-то в C:/Qt/bin/ (не помню полный путь), и кидайте файлы в папку с exe, запускайте его ещё раз, будут новые недостающие зависимости, продолжайте копировать файлы.
Потом эти-же файли кидайте в папку с dll (Windows и mt5 их подцепит их или нет в таком случае? если нет, то нужно папку добавить в PATH)
QT использует кучу своих Q...dll библиотек, и по дефолту не включает их в скомпилированное приложение или новую библиотеку, а использует динамически.
Сделайте так - создайте новое Qt приложение, добавьте в него весь код вашей библиотеки, и вызовите нужные функции в конструкторе приложения, например.
Запустите приложение (не через QtCreator, а даблкликом мышки по exe файлу), в итоге увидите кучу ошибок о зависимостях, там будет не только libgcc_s_dw2-1.dll но и куча недостающих Q....dll файлов.
Ищите эти файлы где-то в C:/Qt/bin/ (не помню полный путь), и кидайте файлы в папку с exe, запускайте его ещё раз, будут новые недостающие зависимости, продолжайте копировать файлы.
Потом эти-же файли кидайте в папку с dll (Windows и mt5 их подцепит их или нет в таком случае? если нет, то нужно папку добавить в PATH)
немного добавлю - в документации Qt есть раздел deployment, где расписано как "распростанять" полученный результат (программу/dll). Какие библиотеки и ресурсы брать "с собой", куда и как раскладывать.
желательно иметь в виртуалке "чистый образ" windows c установленым только MT и повторять эксперименты на нём, иначе при миграции на VDS могут ожидать большие и неприятные сюрпризы.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования