Nana安装文档
当将库文件从zip包文件中释放出来,在使用之前,必须安装并配置 Nana库。下面的方法描述了一个安装库的通用步骤。
通用步骤
关于该用法说明的术语:
NanaPath: 释放的 Nana库文件的存放路径。
IDEName: 某个集成开发环境(IDE)的名称。 例如 vc7.1, vc8.
NanaStatic: 生成的 Nana库静态连接文件, a *.lib/*.a file.
BoostPath: Boost C++ Libraries 的安装路径。
第一步:
打开你使用的IDE,设置C++头文件的包含路径和库引用路径。
头文件包含路径: NanaPath/include
库路径: NanaPath/extrlib, NanaPath/build/bin/IDEName.
第二步:
用你使用的IDE创建静态链接文件的解决方案,然后把所有存放在 "NanaPath/source" 中的文件,还包括其所有子目录中的文件,全部添加到该解决方案中。然后编译,就会在 "NanaPath/build/bin/IDEName"目录中 生成一个静态链接文件 NanaStatic。
第三步:
创建一个程序,并用 Nana库创建界面,然后编译并链接到NanaStatic,在编译之前,确保编译器开启了RTTI支持、多线程和异常的功能。
Microsoft Visual C++
1. 设置目录
Microsoft Visual C++ 2003/2005/2008
点击菜单
工具->选项, 然后弹出 选项 对话框。 找到位于
项目和解决方案-> VC++ 目录中的 " 显示以下内容的目录 " 的组合框。
添加包含文件 "
NanaPath/include" 和库的路径 "
NanaPath/build/bin/
IDEName" 和 "
NanaPath/extrlib".
Microsoft Visual C++ 2010/2012/2013
打开目录 "%UserProfile%/AppData/Local/Microsoft/MSBuild/v4.0", %UserProfile% 是系统环境变量。 然后会看到一些名字类似 "Microsoft.CPP.XXX.user.props"的文件, 选中你的系统平台对应的文件, 然后以下列方法进行添加:
插入 "
NanaPath/include" 到
中.
插入 "NanaPath/build/bin/IDEName(例如 vc10/vc2012/vc2013)" 和 "NanaPath/extrlib" 到 中, 它们以英文分号隔开。
2. 编译 Nana C++ Library
用VC++打开 解决方案"NanaPath/build/IDEName(例如 vc7.1/vc8/vc9/vc10/vc2012/vc2013)/Nana.sln"。 单击菜单生成->全部重新生成. 生成完毕后, 一个 NanaStatic(例如: nana_debug.lib, nana_release.lib) 文件会在 "NanaPath/build/bin/IDEName" 目录中生成.
3. 开始使用 Nana库编程
创建一个 Win32 应用程序项目 , 在创建时钩选空项目选项。
修改项目属性, 打开解决反感属性 对话框。
Debug模式设置MDd 或 MTd;Release模式设置MD 或MT.
依据选中的编译属性来 选择 MD/MDd还是MT/MTd的设置。
链接文件
NanaStatic。
输入
NanaStatic 的文件名, 例如: nana_debug.lib 或 nana_release.lib。
Code::Blocks
1. 设置目录
点击菜单
Settings->Compiler... 打开Global compiler settings 对话框。 然后选中
Search directories->Compiler 选项卡。
添加 "
NanaPath/include".
如果在 Linux 环境下,还需要添加 "/usr/include/freetype2" 。 (freetype2的路径可能会不同,这依赖于Linux的发行版)。
然后切换选项卡到 "Linker" 并添加 "
NanaPath/build/codeblocks".
2. 编译 Nana C++ Library
MinGW
为Nana.C++11配置 Boost C++ Libraries(如果安装的是 Nana.C++03,则跳过该步骤)
依赖Boost C++ Libraries是因为 , and 没有实现于MinGW 4.7.x中。(如果使用高版本的MinGW,则跳过该步骤)
a, 添加Boost包含目录到 "Settings->Compiler...->Search directories->Compiler" 中。
b, 将 MinGW的路径(e.g "C:\Program Files\CodeBlocks\MinGW\bin") 添加到系统环境变量 "Path" 中。
c, 打开头文件 "BoostPath/boost/thread/detail/config.hpp" 并找到下面这几行。
# if defined(BOOST_THREAD_PATH_WIN32)
# if defined(BOOST_MSVC) || defined(BOOST_INTEL_WIN)
然后修改为
# if defined(BOOST_THREAD_PATH_WIN32)
# if defined(BOOST_MSVC) || defined(BOOST_INTEL_WIN) || defined(__MINGW32__) || defined(MINGW32) || defined(BOOST_MINGW32)
d, 编译 Boost.Thread
bjam toolset=gcc --build-type=complete --with-thread
e, 添加 Boost C++ Libraries 到 Code::Blocks 中.
"Settings->Compiler...->Linker Settings" ,并以下面的顺序添加.
libboost_system-mgwXX-mt-s-XXX.a
libboost_thread-mgwXX-mt-s-XXX.a
libboost_chrono-mgwXX-mt-s-XXX.a
(错误的顺序可能会引起 "undefined reference" 链接错误)
开始编译.
用Code::Blocks打开 "NanaPath/build/codeblocks/nana.cbp" 并编译. 当编译的是Nana.C++11时,别忘记指定 "-std=c++11" 。
3. 开始使用 Nana库编程
创建一个项目,如果使用的是Nana.C++11,需要先设置编译器 "Project->Build options...->Compiler settings->Compiler flags", 开启 "-std=c++0x" 或 "-std=c++11" 。
然后切换到 "Project build options"中的选项卡"Linker settings" , 在 "Other linker options" 中添加下面的库文件。
Windows上添加:
-lnana -lgdi32 -lcomdlg32
Linux上添加:
-nana -lX11 -lpthread -lrt -lXft
-lpng(如果开启PNG支持)
-lasound(如果使用 nana::audio::player播放wav文件)