Nana 用 C++ 制作 GUI
Posted
技术标签:
【中文标题】Nana 用 C++ 制作 GUI【英文标题】:Make GUI in C++ by Nana 【发布时间】:2015-06-07 13:07:13 【问题描述】:我正在尝试用 C++ 制作一个轻量级的 GUI 应用程序,有人建议我使用 Nana library。
我下载了 zip 文件,但我不知道如何继续。我解压了,根据instructions,我必须要
在您使用的 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();
提前致谢。
更新:错误(仅一小部分):
【问题讨论】:
你关注这个Install-and-use-nana-with-mingw---step-by-step了吗? 我安装了mingw
,但找不到open_distro_window.bat
。
运行g++ --version
的输出是什么?您的 MinGW 版本可能太旧了。
@kirbyfan64sos。错误说 4.8.1 这使您正确。至少用4.8.2会更好
@qPCR4vir 有区别吗?毕竟,它们是次要版本。
【参考方案1】:
查看 Nana 的文件夹结构,在根文件夹下有一个 build 文件夹。在它下面,有两个文件夹引起了我的注意:
制作文件 cmake我没有太多使用 cmake,但是使用了相当多的 makefile 来编译项目。您应该能够通过进入 build/makefile 并执行命令 make(如果您在 linux 下)来开始您的构建工作。这将启动编译和构建过程。
在此之后,您唯一需要做的就是在编译 HelloWorld 示例时链接到输出库。
【讨论】:
抱歉,我仍然卡住了:我是 Windows XP 用户,我对make
一无所知。 make.exe
(如果是make
的Windows版本)和msys
中的一样吗?我试过了,但它会导致编译错误。
别担心!老实说,我在 Windows 中从未使用过 MinGW。我使用了 cygwin 思想的 make make,这对我有用。你可能想看看cygwin.com。另外,如果你在 windows xp 下,可以考虑试试 Visual Studio 社区版——我知道你说过你不想使用 IDE,但是 Nana 也可以编译 Visual Studio(它甚至有一个正在构建的解决方案)
很抱歉,但这里仍然有问题:我安装了 cygwin 并尝试使用 make
构建库。如果我正确解释了这些步骤,我应该首先cd
makefile
目录然后make
(它是正确的?)。但是,这会导致类似于编译错误的结果。 (查看我帖子中的错误信息更新)
在 makefile 中搜索 c++0x 并将其更改为 c++11。如果更改后它不起作用,请尝试使用 Visual Studio 编译它 - 我认为这是您最好的选择,因为您不熟悉 cmake 和 makefile
我想我以后会求助于 Visual Studio ......无论如何,谢谢。【参考方案2】:
您的 GCC 版本太旧。然而,娜娜有逻辑地认识到这一点并解决它。我不知道为什么它没有正确检测到它。尝试改用build/makefile-bkl
中的makefile 并使用make 命令make CXXFLAGS=-DSTD_NUMERIC_CONVERSIONS_NOT_SUPPORTED
来解决它。
【讨论】:
我不使用 MinGW。可以you see this以上是关于Nana 用 C++ 制作 GUI的主要内容,如果未能解决你的问题,请参考以下文章