首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在可视化演播室(2019)c项目中安装Nuk原子核?

如何在可视化演播室(2019)c项目中安装Nuk原子核?
EN

Stack Overflow用户
提问于 2020-12-14 16:31:35
回答 1查看 380关注 0票数 0

我已尽我所能尝试了两种方法:

  1. 一个解决方案包含两个项目-核子和核子试验。Nuklear包含它的所有c文件和头。然后,它编译成一个静态库,并添加了它在Nuklear中的引用。
  2. 所有这些都在一个项目-演示文件和的文件。

他们两个都不管用

另外,在这两种情况下,我还链接了.lib for x64调试:

  1. opengl32.lib
  2. glew32sd.lib
  3. glfw3.lib

我认为我所犯的主要错误是:

代码语言:javascript
复制
Severity    Code    Description Project File    Line    Suppression State
Error   LNK2001 unresolved external symbol NK_MEMCPY    NuklearTest D:\vs_project\NuklearT\NuklearTest\NuklearTest\Nuklear.lib(nuklear_buffer.obj)  1   

Severity    Code    Description Project File    Line    Suppression State
Error   LNK2001 unresolved external symbol NK_MEMSET    NuklearTest D:\vs_project\NuklearT\NuklearTest\NuklearTest\Nuklear.lib(nuklear_context.obj) 1   
EN

回答 1

Stack Overflow用户

发布于 2021-06-07 03:19:44

Nuk原子核在一个头文件中是自我包含的。src中的文件不是直接构建的,应该通过src/paq.batsrc/paq.sh打包到适当的库头中,这意味着src/nuklear.h应该在项目中包含而不是。您可以不用运行任何脚本就可以使用的预建标头位于项目的主目录中。

如果您想静态链接这个库,只需构建打包的标题,然后将其链接到您的项目中。

如何包含用于建筑的图书馆

nuklear.h可以包含在实现模式或只包含头的模式中,前者必须只包含一次,否则会出现多个链接错误,而后者则可以在包含其他文件时使用。同样,在每次包含头之前,应该重新定义所有的可选标志

要将其包含在实现模式中,应在包含宏NK_IMPLEMENTATION之前定义它。

代码语言:javascript
复制
#define NK_IMPLEMENTATION //< Include nuklear in implementation mode
#include "nuklear.h"

它不需要链接任何其他库,当使用任何Nuk原子核的功能时。但是,为了呈现任何需要的后端,例如OpenGl或Allegro5,应该像在任何其他应用程序中一样设置它。

如何在项目中使用库

抽象不是为呈现/事件后端提供的(库没有直接的操作系统或窗口处理),这意味着任何后端都可以用于呈现Nuk原子核生成的GUI,而不仅仅是系统提供的默认后端。查看API文档,了解如何实现呈现‘引擎’和项目的输入处理。

对于不同的后端,在示范中有几个demo。这些演示头可以包含在项目中的大部分处理中,其余的可以从目录中的main.c文件中修改。

还有一些例子说明了如何使用这个文件夹中的每个特性(特别是在demo/overview.c中)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65292726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档