Невозможно импортировать код C ++, написанный в VS 2015 в Win32 с помощью StaticLibrary dll, который принимает ввод с клавиатуры в masm как файл .lib и .dll - PullRequest
0 голосов
/ 23 мая 2018

Я написал следующий код в VS 2015, проект Win32

MyLib.h

    #pragma once
#include <conio.h>


extern "C"
{
     __declspec(dllexport) extern int __stdcall get_key(int a);
}

MyLib.cpp

       #include "stdafx.h"

#include "MyLib.h"

extern "C" {
    _declspec(dllexport) extern int __stdcall get_key(int a)
    {
        int c = 0;

            if (_kbhit()) {
                c = _getch();
                return(c);
            }
        a = c;
        return c;
    }
}

И это при сборкегенерирует MyLib.dll и MyLib.lib Но когда я пытаюсь импортировать в в маске:

includelib MyLib.lib
get_key PROTO C,: DWORD
.data
doamne_ajuta dd 0

...

 push eax
    invoke get_key, doamne_ajuta

У меня появляется следующая ошибка: example.obj: errorLNK2019: неразрешенный внешний символ _get_key, указанный в функции _draw @ 0 example.exe: неустранимая ошибка LNK1120: 1 неразрешенный внешний код

...