【发布时间】:2014-09-24 04:50:41
【问题描述】:
我在 font.h 文件中声明和定义字体数据,如下所示:
#ifndef _DEFAULT_FONT_H
#define _DEFAULT_FONT_H
const unsigned char wwDefaultFont_TextureData[] =
{
0x00,0x01,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
};
#endif
我打算在 render.h 文件中使用这个数组。 所以我将它包含为#include“font.h”
#include "font.h"
class render{
};
但我收到链接警告 LNK4006 错误?
声明此变量并避免此链接警告的最佳方法是什么?
【问题讨论】:
-
查看
extern的作用。 -
@PaulMcKenzie
const unsigned char x[] = { 'a' , 'b' };是正确的;const变量有内部链接 -
发布一个最小但完整的示例来说明问题。包括编译器版本、构建命令和确切的错误消息。
-
当您只有一个包含此文件的文件时,您不会收到该错误...
-
不过我还是收到了这个警告!我通过添加 font.cpp 修复了这个警告。我在 font.h 中将变量声明为 extern,并在 font.cpp 中定义了变量。然后我将头文件包含在我的 render.h 中。
标签: c++ visual-c++ linker