标签: nana

include_directories 用于导入库

我正在用 c++ 编写项目,并且在 cmake 中导入库时遇到问题。正在导入的第三方库不会传播包含目录。

根目录/CMakeLists.txt

# Top level CMakeLists.txt

cmake_minimum_required(VERSION 3.9.2 FATAL_ERROR)
project(camera_calib)

add_subdirectory(${PROJECT_SOURCE_DIR}/nana)

file(GLOB SRC "${PROJECT_SOURCE_DIR}/src/*.cpp")

add_executable(camera_calib_exe ${SRC})

target_include_directories(camera_calib_exe PRIVATE ${PROJECT_SOURCE_DIR}/include)
target_link_libraries(camera_calib_exe nana_lib)
Run Code Online (Sandbox Code Playgroud)

/nana/CMakeLists.txt

# nana c++ gui CMakeLists.txt

cmake_minimum_required(VERSION 3.9.2 FATAL_ERROR)
project(nana VERSION 1.5.6 LANGUAGES CXX)

add_library(nana_lib STATIC IMPORTED)
set_property(TARGET nana_lib PROPERTY IMPORTED_IMPLIB_DEBUG ${PROJECT_SOURCE_DIR}/lib/nana_v141_Debug_x64.lib)
set_property(TARGET nana_lib PROPERTY IMPORTED_IMPLIB_RELEASE ${PROJECT_SOURCE_DIR}/lib/nana_v141_Release_x64.lib)
set_property(TARGET nana_lib PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${PROJECT_SOURCE_DIR}/include)
#set_property(TARGET nana_lib PROPERTY INCLUDE_DIRECTORIES ${PROJECT_SOURCE_DIR}/include)
Run Code Online (Sandbox Code Playgroud)

代码示例/src/main.cpp

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

int main(int argc, char** argv)
{
    nana::form fm(nana::rectangle(0, 0, 1900, 1000)); …
Run Code Online (Sandbox Code Playgroud)

c++ cmake nana

5
推荐指数
1
解决办法
3139
查看次数

在 nana cmake 上找不到 x11

我正在 CLion 中加载 nana 源,cmake 给我一个错误,说 x11 设置为 NOTFOUND

我曾尝试在 ubuntu 上安装 x11 开发库,但没有帮助:/

编辑:我已通过安装(第二个代码块)解决了上述问题

sudo apt install libxft-dev
Run Code Online (Sandbox Code Playgroud)

但是现在我看到以下错误(第一个代码块)

代码块 1

fatal error: X11/Xcursor/Xcursor.h: No such file or directory
 #include <X11/Xcursor/Xcursor.h>
          ^~~~~~~~~~~~~~~~~~~~~~~
Run Code Online (Sandbox Code Playgroud)

代码块 2

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
/home/jirubizu/Downloads/nana_hotfix/X11_Xft_INCLUDE_PATH
   used as include directory in directory /home/jirubizu/Downloads/nana_hotfix
X11_Xft_LIB (ADVANCED)
    linked by …
Run Code Online (Sandbox Code Playgroud)

c++ linux x11 cmake nana

5
推荐指数
2
解决办法
1750
查看次数

为C++建立标准GUI库的缺点是什么?

对于C++中的GUI编程,我们可以选择太多的库,例如Qt,Gtkmm,wxWidgets,FLTK,还有另一个已经存在的库:Nana.

Nana C++库使用现代C++(C++ 11)语言功能,如lambdas,模板等,它似乎与C++标准库兼容.

如果GUI库与C++标准库100%兼容,那么为什么我们不能将它用于下一个C++标准(C++ 14或C++ 17)?

库在C++标准库中需要哪些条件?如果条件没有定义,那么我们永远注定要陷入文本的黑洞,它会伤害你的心!否则,如果定义了条件,那么我在哪里可以请求库在下一个C++标准中?

c++ user-interface standard-library nana

4
推荐指数
1
解决办法
3018
查看次数

编译nana库时不能包含&lt;X11 / Xft / Xft.h&gt;,没有这样的文件或目录

我正在尝试在Ubuntu 16.04中安装nana C ++库

我下载了该文件并将其解压缩到带有helloworld文件的目录中,然后转到带有makefile的目录;nana / build / makefile,并输入make但出现错误

X11 / Xft / Xft.h:没有这样的文件或目录

我检查了/ usr / include / X11是的,它不存在。谷歌搜索并没有帮助解决Xft的安装问题。我该怎么做?还是我做错了其他事?

c++ makefile nana

4
推荐指数
1
解决办法
5319
查看次数

这个Nana演示代码中使用的C++功能是什么?

他们的网页上,Nana GUI人员给出了这个例子:

#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();
}
Run Code Online (Sandbox Code Playgroud)

在开始的行中使用的C++特性是什么:drawing {fm} .draw ...

我从来没有见过这样的用法.

c++11 nana

2
推荐指数
1
解决办法
114
查看次数

标签 统计

nana ×5

c++ ×4

cmake ×2

c++11 ×1

linux ×1

makefile ×1

standard-library ×1

user-interface ×1

x11 ×1