Создание и подключение библиотеки DLL c++.error LNK2019: ссылка на неразрешенный внешний символ

160
24 июня 2018, 17:50

Всем привет. Я пробую создать и подключить свою DLL. Не могу понять, почему вижуалка не видит мои функции. Хотя определения есть, ссылка тоже указана на библиотеку. Может кто-то знает?

Заголовочный файл MyMathFuncs.h:

#define DllExport   __declspec( dllexport ) 
namespace MathFuncs
{
    class MyMathFuncs
    {
    public:
        static double Add(double a, double b);
        static double Subtract(double a, double b);
        static double Multiply(double a, double b);
    };
}

Файл MyMathFuncs.cpp:

#include "stdafx.h"
#include "MyMathFuncs.h"
#include <stdexcept>
using namespace std;
namespace MathFuncs
{
    double MyMathFuncs::Add(double a, double b)
    {
        return a + b;
    }
    double MyMathFuncs::Subtract(double a, double b)
    {
        return a - b;
    }
    double MyMathFuncs::Multiply(double a, double b)
    {
        return a * b;
    }
}

Файл MyExecRefsDll.cpp:

#include "stdafx.h"
#include <iostream>
#include "MyMathFuncs.h"
using namespace std;
int main()
{
    double a = 7.4;
    int b = 99;
    cout << "a + b = " <<
        MathFuncs::MyMathFuncs::Add(a, b) << endl;
    cout << "a - b = " <<
        MathFuncs::MyMathFuncs::Subtract(a, b) << endl;
    cout << "a * b = " <<
        MathFuncs::MyMathFuncs::Multiply(a, b) << endl;
    cout << "a / b = ";
    return 0;
}

Вот такие ошибки:

error LNK2019: ссылка на неразрешенный внешний символ

Answer 1

Судя по этой статье, нужно что-то на подобие этого:

В MyMathFuncs.h:

#ifndef MY_LIB
#define MY_LIB __declspec( dllimport )
#endif
// ...
class MY_LIB MyMathFuncs {/*...*/};
// ...

В MyMathFuncs.cpp:

#include "stdafx.h"
#include <iostream>
#define MY_LIB __declspec( dllexport )
#include "MyMathFuncs.h"
// ...
READ ALSO
Qt сделать окно квадратным

Qt сделать окно квадратным

Как сделать MainWindow квадратным? Нужно чтобы окно можно было растягивать, но при этом его высота и ширина оставались одинаковыми

185
Задание по JS. Нужна адекватная критика

Задание по JS. Нужна адекватная критика

Всем приветКодил я на Python, хотел всегда освоить дальше js

227