Я пытаюсь создать базовую dll hello world, используя кодовые блоки и metatrader4, и пытаюсь сделать это в полосатой версии. моя компиляция .dll и .def находится в том же каталоге, что и файл .mq4.
в файле test.mq4
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "http://www.mql5.com"
#property version "1.00"
#property strict
//#import "gimmeDLL.dll"
// string GetStringValue(string) define;
//#import
#import "gimmeDLL.dll"
string GetStringValue(string) define;
#import
void OnStart()
{
GetStringValue();
}
в main.cpp dll
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
using namespace std;
#define MT4_EXPFUNC __declspec(dllexport)
void MT4_EXPFUNC GetStringValue()
{
cout << "Hello, World" << endl;
}
в gimmeDLL.def у меня есть
LIBRARY gimmeDLL
EXPORTS
GetStringValue
ошибка
'define' - semicolon expected marketDump.mq4 6 34
'define' - declaration without type marketDump.mq4 6 34
'GetStringValue' - wrong parameters count marketDump.mq4 11 4