我已尽我所能尝试了两种方法:
他们两个都不管用
另外,在这两种情况下,我还链接了.lib for x64调试:
我认为我所犯的主要错误是:
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 发布于 2021-06-07 03:19:44
Nuk原子核在一个头文件中是自我包含的。src中的文件不是直接构建的,应该通过src/paq.bat或src/paq.sh打包到适当的库头中,这意味着src/nuklear.h应该在项目中包含而不是。您可以不用运行任何脚本就可以使用的预建标头位于项目的主目录中。
如果您想静态链接这个库,只需构建打包的标题,然后将其链接到您的项目中。
如何包含用于建筑的图书馆
nuklear.h可以包含在实现模式或只包含头的模式中,前者必须只包含一次,否则会出现多个链接错误,而后者则可以在包含其他文件时使用。同样,在每次包含头之前,应该重新定义所有的可选标志。
要将其包含在实现模式中,应在包含宏NK_IMPLEMENTATION之前定义它。
#define NK_IMPLEMENTATION //< Include nuklear in implementation mode
#include "nuklear.h"它不需要链接任何其他库,当使用任何Nuk原子核的功能时。但是,为了呈现任何需要的后端,例如OpenGl或Allegro5,应该像在任何其他应用程序中一样设置它。
如何在项目中使用库
抽象不是为呈现/事件后端提供的(库没有直接的操作系统或窗口处理),这意味着任何后端都可以用于呈现Nuk原子核生成的GUI,而不仅仅是系统提供的默认后端。查看API文档,了解如何实现呈现‘引擎’和项目的输入处理。
对于不同的后端,在示范中有几个demo。这些演示头可以包含在项目中的大部分处理中,其余的可以从目录中的main.c文件中修改。
还有一些例子说明了如何使用这个文件夹中的每个特性(特别是在demo/overview.c中)。
https://stackoverflow.com/questions/65292726
复制相似问题