我正在为 GLEW 使用静态链接库,因此我必须定义 GLEW_STATIC 来编译我使用 GLEW 的程序。但我一直不明白为什么这是必要的。所以有人能解释一下原因吗?
在必须指定的静态库中实现函数时。该extern关键字提供链接信息。从动态库导入的函数必须用 标记extern __declspec(dllimport)。GLEW_STATIC是激活第一种情况的预处理器定义。
“glew.h”文件(版本2.1.0)中的相关代码部分是:
/*
* GLEW_STATIC is defined for static library.
* GLEW_BUILD is defined for building the DLL library.
*/
#ifdef GLEW_STATIC
define GLEWAPI extern
#else
ifdef GLEW_BUILD
define GLEWAPI extern __declspec(dllexport)
else
define GLEWAPI extern __declspec(dllimport)
endif
#endif
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3012 次 |
| 最近记录: |