用C ++修复Mangled Export名称

时间:2016-04-21 14:04:08

标签: c++ windows dll dllexport name-mangling

我是C ++的新手,想要编写带有一些导出的DLL,但是我在编译时会遇到错误的名字。我现在知道,为了解决这个问题,我应该在声明前添加extern "C",但这仍然不起作用。

我的代码

#pragma once
#include <iostream>
#include <windows.h>

using namespace std;

#ifdef FXSST_EXPORTS
#define FXSST_API __declspec(dllexport)
#else
#define FXSST_API __declspec(dllimport)
#endif

extern "C" FXSST_API void Hello(void);
FXSST_API void Hello(void)
{
    cout << "Hello World" << endl;
}

出于个人原因(并使我自己更容易),如果可能的话,我想将所有内容保存在一个.cpp文件中。

谢谢;)

1 个答案:

答案 0 :(得分:0)

最简单的方法是设置DLL项目以创建一个带有标头(.h)文件的导入库(.lib),该文件声明了您的类。然后将.lib添加到使用DLL的项目中的链接库,并#include您需要使用该类的标题。

MSDN on building dlls