同一个解决方案,
方案一(输出静态库,在另一个函数中调用):
在同一个解决方案中:
一个VS工程生成一个静态库aaa.lib;
另一个VS工程加载这个静态库,然后调用静态库暴露出的函数(暴露函数时,无需添加dllexport)
(该方案在32位处理器上成功过,在64上没成功,报的错误是程序无法启动)
#ifndef __AAA_H__
#define __AAA_H__
int Add(int a,int b);
#endif
方案二(输出动态库,在另一个工程中调用):
在同一个解决方案中:
一个VS工程生成一个静态库aaa.lib;
另一个VS工程加载这个动态库,然后调用动态库暴露出的函数(暴露函数时,需添加dllexport)
(该方案在32位处理器上成功过,在64上没成功,报的错误是程序无法启动)
在生成dll的工程中预处理命令添加_WINDLL
在使用dll的工程中不添加宏定义_WINDLL
#ifndef __AAA_H__
#define __AAA_H__
#ifdef __WINDLL
#define EXPORT_API _declspec(dllexport)
#else
#define EXPORT_API _declspec(dllimport)
#endif
extern "C"
{
EXPORT_API int Add(int a,int b);
}
#endif