系统:Win10_x64
环境:Vs2013+Qt 5.7.0
一、准备:
文件1:CMake(cmake-3.9.1-win64-x64.zip);
文件2:OpenSceneGraph(OpenSceneGraph-3.4.0.zip);
文件3:Data(OpenSceneGraph-Data-3.4.0.zip);
文件4:3rdParty(3rdParty_VS2013.5_v120_x64_V10_full.zip);
二、设置:
1.在X盘下建文件夹/OpenSceneGraph,文件加下建立子路径/source、/data、/3rdparty;
2.将文件2解压放入路径../source;
3.将文件3解压放入路径../data;
4.将文件4解压放入路径../3rdparty;
5.打开.../source/CMakeLists.txt将Qt的路径设置一下;
set(DESIRED_QT_VERSION "5" CACHE STRING "") set(CMAKE_PREFIX_PATH ".../Qt/Qt5.7.0/5.7/msvc2013" CACHE PATH "")6.将CMake解压后,打开.../bin/cmake-gui.exe,将CMakeLists.txt拖入界面,将“Where to build the bin...”后面加上/build;
7.点击Configure,选择Visual Studio 12 2013 x64,点击finish,将红色部分设置一下;
ACTUAL_3RDPARTY_DIR: .../OpenSceneGraph/3rdparty BUILD_MFC_EXAMPLE: checked CMAKE_INSTALL_PREFIX: .../OpenSceneGraph/source8.完成之后Configure知道通过,点击Generate;
9.Generate结束之后,点击Open Project,VS启动程序;
三、编译:
1.打开程序后,点击生成->批生成->勾选ALL_BUILD 的Release/Debug版本,点击生成;2.等待ALL_BUILD结束后,划去,重新勾选INSTALL_BUILD的Release/Debug版本,点击生成;
四、整理:
1.新建文件路径(D:/Program Files/OpenSceneGraph);2.将编译时的../source及.../source/build下的/include和/bin复制到路径下;
3.将.../data文件复制到路径下;
4.配置环境变量;
OSG_FILE_PATH: = D:/Program Files/OpenSceneGraph/data PATH: += D:/Program Files/OpenSceneGraph/bin
五、问题
1.编译报错无法打开“unistd.h”,解决方法是在VS路径.../Microsoft Visual Studio 12.0/VC/include/下建头文件unistd.h,内容如下:
#ifndef _UNISTD_H #define _UNISTD_H #include <io.h> #include <process.h> #endif
2.编译报错Plugins nvtt,长串的链接错误,原因是版本不符合,网址: https://github.com/castano/nvidia-texture-tools,下载并编译生成nvtt(.../project/vc12/Debug.x64和.../project/vc12/Release.x64),然后用新生成的替换.../3rdparty/bin下的nvtt.lib和nvtt_d.lib。ps:下载文件中有nvtt的项目,不需要CMake.