Windows下编译Ork

Github | Gitee | SourceForge

如果是为了完成Proland项目编译运行,可以只完成工具准备Ork Prebuild两节。

提供的大部分预编译文件只有Win-X64-Release版本,如有其他需求,还需自行编译。

工具准备

Git

Git可以从Git SCM进行下载。

下载地址托管在aws,可能在国内无法访问。可以从淘宝NPM(已切换新域名[信源])或华为云的镜像地址进行下载安装。

CMake

CMake可以从官网下载最新版本。

PkgConfig

pkg-config工具是Linux的包配置工具,在Windows上有些水土不服,但是还是有多种方法可以得到。

pkg-config.exe放到系统环境变量路径下,以便cmake可以调用。

代码准备

OpenGL和GLU

Windows SDK中包含了适用于对应操作系统的OpenGL头文件和编译好的库。

对于Visual Studio 2019,一般在安装时已经提供了Windows SDK。VS 2017及以下版本的Visual Studio可能在安装时没有安装,需要从微软官网的Windows开发中心进行下载。如需以前版本的SDK,可以访问Windows SDK 和模拟器存档页面获取。

安装完成之后,VS会自动找到OpenGL和GLU的头文件及对应lib。

Glew

Glew官网为http://glew.sourceforge.net/,提供了预编译的Windows 32bit和64bit二进制下载:https://sourceforge.net/projects/glew/files/glew/2.1.0/glew-2.1.0-win32.zip/download

如需自行编译,建议从Perlmint的glew-cmake获取代码。同时,该项目已经提供了Visual Studio 2017工程,可以直接使用。

如果使用VS2019,在可以使用以下命令行生成2019项目或使用cmake-gui进行生成:

Notes

生成的glew.pc文件最后require了glu,可以直接在pc文件中删除,也可以将build/cmake/CMakeLists.txtset (requireslib glu)一句注释掉:

Prebuild

如果使用.pc,则需要将文件中prefix修改为自己的对应路径。注意路径分隔符需要使用/,且路径中不包含空格。

GLFW

GLFW源码可以从官网下载 https://www.glfw.org/ ,最新版本为3.3.5。

官网没有提供预编译版本,可以下载源码后直接生成对应lib。

Prebuild

如果使用.pc,则需要将文件中prefix修改为自己的对应路径。注意路径分隔符需要使用/,且路径中不包含空格。

FreeGLUT

GLFW源码可以从官网下载 http://freeglut.sourceforge.net/ ,最新版本为3.2.1。

官网没有提供预编译版本,可以下载源码后直接生成对应lib。

官网提供了第三方使用VS 2013编译的3.0.0版本的Windows二进制下载链接:https://www.transmissionzero.co.uk/software/freeglut-devel/

Prebuild

如果使用.pc,则需要将文件中prefix修改为自己的对应路径。注意路径分隔符需要使用/,且路径中不包含空格。

pThreads

直接使用 https://sourceware.org/pthreads-win32/ 而不是Sourceforge的POSIX Threads for Windows。

网站已经提供了预编译文件下载。

Prebuild

预编译文件下载地址:ftp://sourceware.org/pub/pthreads-win32

由于Windows 10系统已经提供了timespec结构体,需要在 pthreads.h中添加以下宏定义防止重复定义:

根据以下选项使用相应的pThreads库:

在 CMake 指定安装路径时,include路径指定 Pre-built.2 路径下的 include 文件夹;lib路径指定 lib 下的 x86 (Win32)或 x64 (X64)路径。

本次编译使用pthreadVC2库。

Ork Prebuild

如果使用.pc,则需要将文件中prefix修改为自己的对应路径。注意路径分隔符需要使用/,且路径中不包含空格。