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

 

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

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

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

dll实现代码:
#include "stdafx.h"
#include
#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相关的宏了

你可能感兴趣的:(编译出错)