msft c неразрешенная внешняя привязка для использования функции dll в консольном приложении win32 - PullRequest
0 голосов
/ 09 октября 2018

У меня есть очень простая c ++ dll, которая добавляет два числа.Исходный файл выглядит так:

extern "C" {
__declspec(dllexport) double __stdcall myadder(double a,double a)
{
    return (a+b);
}
}

с файлом определения:

LIBRARY myadder
EXPORTS
    _myadder@16

Код исполняемого файла:

#include "stdio.h"

__ declspec(dllimport) double myadder(double a, double b);


int main()
{
double r;

r=myadder(5,6);

printf("myadder = %f \n",r);


return 0;
}

, и я говорю этоиспользуйте myadder.lib с указанием пути к нему.но я получаю сообщение об ошибке:

1>helloworld.obj : error LNK2019: unresolved external symbol __imp__myadder referenced in function _main

1> C: \ lotus \ optfunc \ helloworld \ Debug \ helloworld.exe: фатальная ошибка LNK1120: 1 неразрешенные внешние данные

и если я избавлюсьиз __declspec (dllimport) я вместо этого получаю:

1>helloworld.obj : error LNK2019: unresolved external symbol _myadder referenced in function _main 

Что я делаю не так?

...