vcmi(魔法门英雄无敌3 - 开源复刻版) 源码编译
vcmi源码编译 windows+cmake+mingw
##1 准备
##2 安装
###2.1 vcmi源码 目标路径 D:/vcmi/source/
###2.2 QT5 with mingw, 设置环境变量
set PATH=D:\Qt\Qt5.4.1\5.4\mingw491_32\bin;D:\Qt\Qt5.4.1\Tools\mingw491_32\bin;%PATH%
###2.3 Boost 1.55
bootstrap.bat mingw
b2 toolset=gcc --without-python --stage
copy stage/lib to D:/vcmi/boost/lib
copy boost dir to D:/vcmi/boost/boost
###2.4 MSYS2
msys2-x86_64-20160205 该版本似乎有改动,导致MSYS2 shell配置错误,尚未解决。
D:/msys64/etc/pacman.conf 修改网络代理配置
XferCommand = /usr/bin/curl -x http://yourproxy.yoursite.com:yourport -L -C - -f %u > %o
-x 设置proxy,-L 支持自动重定向
运行MSYS2 shell, 执行pacman -Syu,关闭(更新MSYS2软件库到最新)
运行autorebase.bat(刷新MSYS2)
运行MSYS2 shell, 安装所需库:
pacman -S mingw-w64-i686-SDL2
pacman -S mingw-w64-i686-SDL2_image
pacman -S mingw-w64-i686-SDL2_mixer
pacman -S mingw-w64-i686-SDL2_ttf
pacman -S mingw-w64-i686-ffmpeg
pacman -S mingw-w64-i686-zlib
###2.5 D:/vcmi/toolchain.txt新建
SET(CMAKE_SYSTEM_NAME Windows)
SET(VCMIBUILD_DIR D:/vcmi)
SET(CMAKE_C_COMPILER D:/Qt/Qt5.4.1/Tools/mingw491_32/bin/gcc.exe)
SET(CMAKE_CXX_COMPILER D:/Qt/Qt5.4.1/Tools/mingw491_32/bin/g++.exe)
SET(ENV{BOOST_ROOT} ${VCMIBUILD_DIR}/boost)
SET(CMAKE_FIND_ROOT_PATH D:/msys64/mingw32)
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_FIND_ROOT_PATH})
list(APPEND CMAKE_PREFIX_PATH D:/Qt/Qt5.4.1/Tools/mingw491_32)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
##3 编译
Open CMake-gui
Select D:/vcmi/source as source directory
Select D:/vcmi/binary as binary directory
click "Configure"
Select "MinGW makefiles" in combobox
Select "Specify toolchain file for crosscompiling"
Select toolchain file (D:/vcmi/toolchain.txt)
Set variables:
CMAKE_INSTALL_PREFIX = D:/vcmi/result
ENABLE_PCH = OFF (because of cc1plus.exe crash)
click Configure
click Generate
go to D:/vcmi/binary directory
execute mingw32-make
execute mingw32-make install
##4 运行D:/vcmi/result/ 就是最终生成文件.
copy to Homm3.
enjoy it!
https://gist.github.com/9468305/4ecaddbfd8b4d9cefe57
vcmi(魔法门英雄无敌3 - 开源复刻版) 源码编译的更多相关文章
- 让vcmi支持英雄无敌3中文版
Table of Contents 1 Hack 日志 2 Changes 3 Install by compiling 4 reply of Ivan 1 Hack 日志 8月22日开始动手修改改v ...
- GGTalk——C#开源即时通讯系统源码介绍系列(一)
坦白讲,我们公司其实没啥技术实力,之所以还能不断接到各种项目,全凭我们老板神通广大!要知道他每次的饭局上可都是些什么人物! 但是项目接下一大把,就凭咱哥儿几个的水平,想要独立自主.保质保量保期地一个个 ...
- 英雄无敌3开源引擎vcmi的编译安装
TAGS: Heroes3, vcmi, opensourceDATE: 2013-08-23 vcmi是什么? vcmi 是经典的 SLG 英雄无敌3 的开源游戏引擎.原来的英雄无敌3只能在Wind ...
- GitHub上的开源复刻:暗黑破坏神2
现在的00后少年可能已经不太了解<暗黑破坏神2>这款由暴雪打造的经典游戏. 该游戏上市的时候,国内个人家用电脑还没有那么普及,网络游戏也没有那么风靡,现在的孩子可能无法想象,那时候网吧里的 ...
- AndroidStudio导入第三方开源库 --文件夹源码
1 在已打开的项目中 File-New-ImportModule 选择开源项目中的 库所在文件夹比如 library文件夹 然后导入. 2 File-Project Sructure 在Modu ...
- Android开源git40个App源码
http://www.itbbu.com/1039.html (JamsMusicPlayer)很棒的音乐播放器(new) (F8)日程安排的软件 (Conversations)基于XMPP的 ...
- TP5框架,开源小程序商城源码,前端+后台完整版
CRMEB微信公众号商城小程序商城数据同步,带积分.优惠券.秒杀.砍价.分销等功能,更是一套方便二次开发的框架 开源地址:https://github.crmeb.net/u/crmeb 商城演示后台 ...
- 大型Unity手游《英雄之刃-最后之战》源码分析
英雄之刃之最后一战是国内首款原创精品MOBA手游,是一款由前暴雪文案亲自操刀世界观,日韩专业团队打造美术场景,新加坡团队精心制作战斗音乐的旷世之作! 超快速的匹配对战.默契的团队协作给你带来意犹未尽的 ...
- 谷歌开源项目Chromium的源码获取与项目构建(Win7+vs10/vs13)
转自:http://blog.csdn.net/kuerjinjin/article/details/23563059 从12年那会儿开始获取源码和构建chromium项目都是按照那时候的官方要求用w ...
随机推荐
- GCD下载后清除缓存
//GCD下载后清除缓存1 —(void)didReceiveMemoryWarning{ [super didReceiveMemoryWarning]; //清除缓存 [self.cache re ...
- TableView相关属性
//是否要显示分隔线 tableView.separatorStyle = UITableViewCellSeparatorStyleNone; tableView.separatorStyle = ...
- Compmgmtlauncher.exe问题解决方法
修改注册表:HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Manage\command 原来的默认键值为 ...
- hdu 4406 费用流
这题问题就是当前时刻究竟选择哪门课程,易知选择是和分数有关的,而且是一个变化的权值,所以能够用拆点的方式,把从基础分到100分都拆成点.但若这样拆点的话,跑费用流时就必须保证顺序.这样就麻烦了..观察 ...
- 如何查看一个网页特定效果的js代码(动画效果可js和css)(页面可以看到js的源代码)
如何查看一个网页特定效果的js代码(动画效果可js和css)(页面可以看到js的源代码) 一.总结 1.动画效果可能是 CSS 实现的,也可能是 JS 实现的. 2.直接Chrome的F12调试即可, ...
- PhpStorm常用快捷键(不多够用)
PhpStorm常用快捷键(不多够用) 一.总结 一句话总结: 1.前进 解答:Ctrl+shift+ z 2.跳转到指定行数 解答:Ctrl+G 3.块注释 解答:ctrl + shift + / ...
- 前端切图:手机端自适应布局demo
手机端自适应布局demo原型如下: 图片发自简书App 要求如下:适应各种机型源码如下: <!DOCTYPE html > <html> <head> <me ...
- [Angular] Dynamic components with ComponentFactoryResolver
To create a component dynamicly. 1. Add a container with ref: @Component({ selector: 'app-root', tem ...
- erlang应用发布
http://blog.csdn.net/zhangxinrun/article/details/6993892 参考“转载1”和“转载2”就可以了,但需要注意以下两点: 1.如果用rebar - c ...
- matplotlib plot 绘图函数发生阻塞(block)时的解决方法
Is there a way to detach matplotlib plots so that the computation can continue? 在一般编辑器中: from matplo ...