Github | Gitee | SourceForge
如果是为了完成Proland项目编译运行,可以只完成工具准备和Ork Prebuild两节。
提供的大部分预编译文件只有Win-X64-Release版本,如有其他需求,还需自行编译。
Git可以从Git SCM进行下载。
下载地址托管在aws,可能在国内无法访问。可以从淘宝NPM(已切换新域名[信源])或华为云的镜像地址进行下载安装。
CMake可以从官网下载最新版本。
pkg-config
工具是Linux的包配置工具,在Windows上有些水土不服,但是还是有多种方法可以得到。
将pkg-config.exe
放到系统环境变量路径下,以便cmake可以调用。
nmake /f Makefile.vc CFG=release
进行编译。Windows SDK中包含了适用于对应操作系统的OpenGL头文件和编译好的库。
对于Visual Studio 2019,一般在安装时已经提供了Windows SDK。VS 2017及以下版本的Visual Studio可能在安装时没有安装,需要从微软官网的Windows开发中心进行下载。如需以前版本的SDK,可以访问Windows SDK 和模拟器存档页面获取。
安装完成之后,VS会自动找到OpenGL和GLU的头文件及对应lib。
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进行生成:
cmake ./cmake -Bvs16 -DCMAKE_INSTALL_PREFIX=bin/ -G"Visual Studio 16 2019"
Notes
生成的
glew.pc
文件最后require了glu,可以直接在pc文件中删除,也可以将build/cmake/CMakeLists.txt
中set (requireslib glu)
一句注释掉:# set (requireslib glu)
如果使用.pc
,则需要将文件中prefix
修改为自己的对应路径。注意路径分隔符需要使用/
,且路径中不包含空格。
GLFW源码可以从官网下载 https://www.glfw.org/ ,最新版本为3.3.5。
官网没有提供预编译版本,可以下载源码后直接生成对应lib。
如果使用.pc
,则需要将文件中prefix
修改为自己的对应路径。注意路径分隔符需要使用/
,且路径中不包含空格。
GLFW源码可以从官网下载 http://freeglut.sourceforge.net/ ,最新版本为3.2.1。
官网没有提供预编译版本,可以下载源码后直接生成对应lib。
官网提供了第三方使用VS 2013编译的3.0.0版本的Windows二进制下载链接:https://www.transmissionzero.co.uk/software/freeglut-devel/
如果使用.pc
,则需要将文件中prefix
修改为自己的对应路径。注意路径分隔符需要使用/
,且路径中不包含空格。
直接使用 https://sourceware.org/pthreads-win32/ 而不是Sourceforge的POSIX Threads for Windows。
网站已经提供了预编译文件下载。
预编译文件下载地址:ftp://sourceware.org/pub/pthreads-win32
由于Windows 10系统已经提供了timespec
结构体,需要在 pthreads.h
中添加以下宏定义防止重复定义:
根据以下选项使用相应的pThreads库:
In general:
pthread[VG]{SE,CE,C}[c].dll
pthread[VG]{SE,CE,C}[c].lib
where:
[VG] indicates the compiler
V - MS VC, or
G - GNU C
{SE,CE,C} indicates the exception handling scheme
SE - Structured EH, or
CE - C++ EH, or
C - no exceptions - uses setjmp/longjmp
c - DLL compatibility number indicating ABI and API
compatibility with applications built against
a snapshot with the same compatibility number.
See 'Version numbering' below.
在 CMake 指定安装路径时,include路径指定 Pre-built.2
路径下的 include
文件夹;lib路径指定 lib
下的 x86
(Win32)或 x64
(X64)路径。
本次编译使用pthreadVC2
库。
如果使用.pc
,则需要将文件中prefix
修改为自己的对应路径。注意路径分隔符需要使用/
,且路径中不包含空格。