无法使用 nana 库

Posted

技术标签:

【中文标题】无法使用 nana 库【英文标题】:Cannot use nana library 【发布时间】:2015-11-05 11:43:26 【问题描述】:

我尝试将 Nana 库与 Code::Block IDE 一起使用。我进行了所有设置,例如here

并添加 -std=C++11 标志和 Boost 包含路径,但它会在构建时打印下一个错误:

nana/include/nana/paint/graphics.hpp|143|error: 'unsigned int nana::paint::graphics::bidi_string(const nana::point&, const char*, std::size_t)' 不能超载| nana/include/nana/paint/graphics.hpp|142|错误: 与‘无符号 int nana::paint::graphics::bidi_string(const nana::point&, const char_t*, std::size_t)’|

我只开始研究 C++ 11 标准和 Nana GUI 库,无法理解这些错误。

【问题讨论】:

看来你已经删除了config.hpp中定义的NANA_UNICODE 我不更改库中的文件,只是下载并解压到文件夹中 【参考方案1】:

我遇到了同样的问题。 为了解决问题,我看看nana它是如何通过编译nanamake VERBOSE=1来解决这个问题的, 并从中获取定义。

所以编译示例:

#include<nana/gui.hpp>

int main()

     using namespace nana;
     form fm;
     drawingfm.draw([](paint::graphics& graph)
         graph.string(10, 10, L"Hello, world!", colors::red);
     );
     fm.events().click(API::exit);
     fm.show();
     exec();

来自 nana 网站(http://nanapro.org/en-us/) 我使用这样的命令行:

g++ -DNANA_ENABLE_PNG -DNANA_LIBPNG -DNANA_LINUX -DNANA_UNICODE \
-DNANA_X11 -DPLATFORM_SPEC_HPP="<nana/detail/linux_X11/platform_spec.hpp>" \
-DSTD_CODECVT_NOT_SUPPORTED -std=c++11 -I nana/include/ \
test.cpp build/libnana.a -lX11 -lXft -lpthread -lpng

【讨论】:

以上是关于无法使用 nana 库的主要内容,如果未能解决你的问题,请参考以下文章

为 c++ 构建 nana 时出现“make”错误

Nana 用 C++ 制作 GUI

在代码块中安装 nana 时出现问题

此 Nana 演示代码中使用的 C++ 功能是啥?

在 nana C++ GUI 应用程序中设置窗口图标

更改 nana 列表框中的值