Я сделал dll, которая прекрасно компилируется в 32-битном режиме, но при компиляции в 64-битном режиме (как на кросс-компиляции на 32-битном боксе, так и на собственном 64-битном боксе) я получаю вышеуказанную ошибку.
Символ, на который он жалуется, следующий:
"struct return_info_ * __cdecl patch_file(char *,char *,char *)"
Я новичок в C ++, но думаю, что правильно определил структуру и сигнатуру.
Структура return_info_ определяется следующим образом:
typedef struct return_info_
{
char *message;
int code;
} return_info;
В том же заголовке у меня есть подпись функции:
return_info* patch_file(char* oldfile, char* newfile, char* patchfile);
Это все в собственном коде c / c ++, который скомпилирован как статически связанная библиотека. Затем у меня есть наша основная библиотека, которая ссылается на это и является CLR-совместимым двоичным файлом. Любые идеи, почему 64-битный компилятор выдает эти ошибки?