error C2491: 不允许 dllimport 函数 的定义

来源:互联网 发布:黑暗之光骑兽升阶数据 编辑:程序博客网 时间:2024/05/17 06:14

 

在工程属性中 预编译宏中加上 DLL_EXPORT

为了减少使用dll时候的设置或者代码编写,把dll.h修改一下:

#ifndef DLL_EXPORT
#define DECLDIR __declspec(dllimport)
#else
#define DECLDIR __declspec(dllexport)
#endif

dll实现代码:
#include "stdafx.h"
#include <iostream>
#define DLL_EXPORT //先定义宏
#include "dll.h"//这个头文件必须在#define DLL_EXPORT后面
extern "C"{  
  DECLDIR int Add( int a, int b )  
  {  
  return( a + b );  
  }


  DECLDIR void Function( void )
  {  
  std::cout << "DLL Called!" << std::endl;
  }
}

这样编译后,使用dll的工程中就不需要定义和dll相关的宏了