2

我正在尝试用 C++ 制作一个轻量级的 GUI 应用程序,有人建议我使用Nana library

我下载了 zip 文件,但我不知道如何继续。我把它解压缩了,按照说明,我必须

在您使用的 IDE 中创建一个静态链接库解决方案,并将放置在 NanaPath/source 及其所有子目录中的所有文件添加到解决方案中。然后编译解决方案,您将在路径 NanaPath/build/bin/IDEName 中获得一个 >static 链接文件 NanaStatic。

(第二步)

我不明白的是,如何“创建静态链接库”?我没有使用任何 IDE(而且很可能我不会使用)。我现在只有解压缩的文件。我正在使用MinGW g++编译器。

我已经阅读了以下帖子(不允许发布超过两个链接)

如何使用 g++ 创建静态库?

如何将nana编译成静态库

从多个来源创建静态库

但我找不到构建和使用 Nana 的直接方法。

你能给我一些指南吗?如果我知道如何编译 HelloWorld 示例(此处直接引用),我想我可以继续构建我的应用程序。

#include <nana/gui/wvl.hpp>
#include <nana/gui/widgets/label.hpp>

int main()
{
    using namespace nana;
    form    fm;
    label   lb(fm, fm.size());
    lb.caption(STR("Hello, World"));
    fm.show();
    exec();
}

提前致谢。

更新:错误(仅一小部分):

在此处输入图像描述

4

2 回答 2

1

查看 Nana 的文件夹结构,在根文件夹中有一个 build 文件夹。在它下面,有两个文件夹引起了我的注意:

  • 生成文件
  • 制作

我没有太多使用 cmake,但是使用了相当多的 makefile 来编译项目。您应该能够通过进入 build/makefile 并执行命令 make(如果您在 linux 下)来开始您的构建工作。这将启动编译和构建过程。

在此之后,您唯一需要做的就是在编译 HelloWorld 示例时链接到输出库。

于 2015-06-07T13:48:31.397 回答
1

您的 GCC 版本太旧。然而,娜娜有逻辑地认识到这一点并解决它。我不知道为什么它没有正确检测到它。尝试改用 makefilebuild/makefile-bkl并使用 make 命令make CXXFLAGS=-DSTD_NUMERIC_CONVERSIONS_NOT_SUPPORTED来解决它。

于 2015-06-10T14:08:02.073 回答