2015-11-05 2 views
1

Я пытаюсь использовать библиотеку Nana с кодом :: Block IDE. Я сделал все настройки, как hereНевозможно использовать библиотеку nana

и добавить -std = C++ 11 флага и подталкивании включают в себя путь, но это печать следующей ошибка здания:

nana/include/nana/paint/graphics.hpp|143|error: ‘unsigned int nana::paint::graphics::bidi_string(const nana::point&, const char*, std::size_t)’ cannot be overloaded|
nana/include/nana/paint/graphics.hpp|142|error: with ‘unsigned int nana::paint::graphics::bidi_string(const nana::point&, const char_t*, std::size_t)’|

Я только начал исследование C++ 11 Standart и библиотека Наны GUI и не могут понять эти ошибки.

+0

Это кажется, что вы удалили NANA_UNICODE, который определен в config.hpp – Jinhao

+0

Я не меняю файлы в библиотеке, просто скачал и распаковал папку –

ответ

3

Я столкнулся с той же проблемой. Чтобы решить проблему, я рассмотрю, как nana справится с этой проблемой, составив nana с make 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(); 
} 

с сайта Нана (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 
+0

Спасибо! Я попробую. –