c - 仅 header 库不使用 header 保护。如何在其他头文件中使用该库?

标签 c

我正在使用仅 header 库 ( Nuklear )。我将其包含在我的 main.c 文件中,如下所示:

#define SDL_MAIN_HANDLED
#include <GL/glew.h>
#include <SDL2/SDL.h>
#include <SDL2/SDL_opengl.h>

#define NK_INCLUDE_FIXED_TYPES
#define NK_INCLUDE_STANDARD_IO
#define NK_INCLUDE_STANDARD_VARARGS
#define NK_INCLUDE_DEFAULT_ALLOCATOR
#define NK_INCLUDE_VERTEX_BUFFER_OUTPUT
#define NK_INCLUDE_FONT_BAKING
#define NK_INCLUDE_DEFAULT_FONT
#define NK_IMPLEMENTATION
#define NK_SDL_GL3_IMPLEMENTATION
#include "nuklear.h"
#include "nuklear_sdl_gl3.h"

我想创建一个文件来存放一些组件并将代码分解成更小的 block 。我试图通过将 nuklear.h 包含到其中一个组件 header 中来做到这一点,但出现重新声明错误:

error: redefinition of 'nk_sdl_shutdown'

我不知道还有什么其他方法可以从其他头文件中的 nuklear.h 访问类型。有什么帮助吗?

最佳答案

看起来像it does include header guards现在。尝试更新库。如果这不起作用,请提交错误,或者更好的是,提出拉取请求。

它是开源软件,如果您发现问题,您可以修复它,而不是尝试解决问题。

关于c - 仅 header 库不使用 header 保护。如何在其他头文件中使用该库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56588419/

相关文章:

c - 尽可能快地在C中提取两个相似(或不同)字符串之间的字符串

C:如何计算结构体中的项目数?

无法从 Fortran 90 中返回的 C 浮点指针获取数据

c - 学习管道和流程

c - 一次释放多个动态分配的内存可以吗?

C字符串用多个 '\n'分解一个字符串

c - 为什么我用cgo的时候报错 "undefined reference to ` add2”

c - 如何接受字符或字符串作为输入

c - sh : error while loading shared libraries: libc. so.6: 无法打开共享对象文件: 错误 24

c++ - 无法将 char (*)[1000] 转换为 char **