【问题标题】:Cannot use nana library无法使用 nana 库
【发布时间】: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
  • 我不更改库中的文件,只是下载并解压到文件夹中

标签: c++11 nana


【解决方案1】:

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

所以编译示例:

#include<nana/gui.hpp>

int main()
{
     using namespace nana;
     form fm;
     drawing{fm}.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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    • 1970-01-01
    • 2012-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多