英雄无敌3(跨平台含手机)

Arseniy Shestakov fd3992ddc9 GatherTroops: avoid crash if nearest dwelling wasn't found. Issue 2624 9 年之前
AI fd3992ddc9 GatherTroops: avoid crash if nearest dwelling wasn't found. Issue 2624 9 年之前
Mods db13d7a708 Version 0.99 updates. 9 年之前
client 204ee37ae4 boost/program_options has only 2 uses, and unlikely will be used more -> removed form Global.h. 9 年之前
cmake_modules da1c9cf249 Fix rebuilding everything on HEAD change 9 年之前
config b626f9a134 Fix CCommanderArtPlace localization + minor fixes 9 年之前
debian 6c8aa6e938 Linux version bump for 0.99 9 年之前
editor 72f79a3ad7 Draft boost::format based log proxy. 9 年之前
include 36598d8695 Fixed CID 1197474, CID 1366358 9 年之前
launcher 092a0c305b MSVS project update. 9 年之前
lib 36598d8695 Fixed CID 1197474, CID 1366358 9 年之前
osx 145df56126 different data file locations for different iso files 11 年之前
rpm 99d593172d RPM: Fix date for 0.99 release 9 年之前
scripting 204ee37ae4 boost/program_options has only 2 uses, and unlikely will be used more -> removed form Global.h. 9 年之前
server 204ee37ae4 boost/program_options has only 2 uses, and unlikely will be used more -> removed form Global.h. 9 年之前
test 204ee37ae4 boost/program_options has only 2 uses, and unlikely will be used more -> removed form Global.h. 9 年之前
.gitignore 203b2dccc3 hopefully fixed things 9 年之前
.travis.linux 2b916189f6 Travis CI: working configuration for Coverity Scan auto submission 9 年之前
.travis.mxe c7056c0302 Travis: add Windows build via MXE 9 年之前
.travis.osx 0e9e93e14e [WIP] macOS Travis / #2553 9 年之前
.travis.yml bf3f94a106 Travis CI: try to use 2 threads for Coverity Scan build 9 年之前
AUTHORS 092a0c305b MSVS project update. 9 年之前
CCallback.cpp dc39fb2d14 Removed useless CPack::type field. 9 年之前
CCallback.h 9fd1cff090 Refactoring: always use std prefix for shared_ptr, unique_ptr and make_shared 9 年之前
CMakeLists.txt 6c8aa6e938 Linux version bump for 0.99 9 年之前
ChangeLog db13d7a708 Version 0.99 updates. 9 年之前
Global.h 204ee37ae4 boost/program_options has only 2 uses, and unlikely will be used more -> removed form Global.h. 9 年之前
README.linux 6ca49695e6 set correct paths for libraries for game directory 9 年之前
README.md 30bc46877a Add Coverity Scan status badge 9 年之前
VCMI_VS10.sln b1428bcd24 - Compile fix for editor - Renamed /Editor to /editor and Scripting/ERM to scripting/erm - Removed unused ipch folder and format file - Removed ancient lua folder 12 年之前
VCMI_VS11.sln 9e7013de77 Backup for my own MVS project configuration 11 年之前
VCMI_global.props 72f79a3ad7 Draft boost::format based log proxy. 9 年之前
VCMI_global_debug.props 6ac70d6a0b Partially reverting r3191: DLL_LINKAGE on registerTypes def breaks compilation for MSVC. The function definition cannot be marked as dll import (and that happened, when it was included in CGameHandler.cpp) 12 年之前
VCMI_global_release.props bcf8cab19a Project files update/cleanup. 13 年之前
VCMI_global_user.props a50e9219c2 Launcher works for me. 12 年之前
Version.cpp.in da1c9cf249 Fix rebuilding everything on HEAD change 9 年之前
Version.h da1c9cf249 Fix rebuilding everything on HEAD change 9 年之前
license.txt 645ed84978 * license (GPL v2 or later) 17 年之前
vcmi.workspace a00dbd3dd1 Merge remote-tracking branch 'remotes/origin/develop' into feature/VCMIMapFormat1 9 年之前
vcmibuilder 71378546c1 Try to quick fix issue 2376 9 年之前
vcmimanual.tex 9c0df68cb8 Fixing spelling mistakes. Patch from josch, fixes #1759 11 年之前

README.linux

This readme covers VCMI compilation on Unix-like systems.

To run the game you will need:
1) Heroes 3 data files (SoD or Complete editions);
2) VCMI data pack (http://download.vcmi.eu/core.zip)
All of them can be installed manually or using vcmibuilder script

For complete installation instructions see VCMI wiki:
http://wiki.vcmi.eu/index.php?title=Installation_on_Linux#Preparing_data

I. Prerequisites

To compile, the following packages (and their development counterparts) are needed to build:
* libstdc++ devel
* CMake build system
* SDL and SDL-devel
* SDL_mixer and SDL_mixer-devel
* SDL_image and SDL_image-devel
* SDL_ttf and SDL_ttf-devel
* zlib and zlib-devel
* (optional) Qt 5, widget and network modules
* the ffmpeg libraries (libavformat and libswscale). Their name could be libavformat-devel and libswscale-devel, or ffmpeg-libs-devel or similar names.
* boost c++ libraries v1.50+ (www.boost.org):
- program-options
- filesystem
- system
- thread
- locale

On Debian-based systems (e.g. Ubuntu) run:
sudo apt-get install cmake g++ libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libsdl2-mixer-dev zlib1g-dev libavformat-dev libswscale-dev libboost-dev libboost-filesystem-dev libboost-system-dev libboost-thread-dev libboost-program-options-dev libboost-locale-dev libboost-test-dev qtbase5-dev

On RPM-based distributions (e.g. Fedora) run:
sudo yum install cmake gcc-c++ SDL2-devel SDL2_image-devel SDL2_ttf-devel SDL2_mixer-devel boost boost-devel boost-filesystem boost-system boost-thread boost-program-options boost-locale zlib-devel ffmpeg-devel ffmpeg-libs qt5-qtbase-devel

On Arch-based distributions, there is a development package available for VCMI on the AUR. It can be found at:
https://aur.archlinux.org/packages/vcmi-git/

Information about building packages from the Arch User Repository (AUR) can be
found at the Arch wiki.

II. Getting the sources

VCMI is still in development. We recommend the following initial directory structure:
trunk
trunk/vcmi -> contains sources and is under git control
trunk/build -> contains build output, makefiles, object files,...

You can get latest sources with subversion:
git clone https://github.com/vcmi/vcmi.git

III. Compilation

Run configure:
mkdir build && cd build
cmake ../vcmi

Additional options that you may want to use:
To enable debugging: -DCMAKE_BUILD_TYPE=Debug
To change installation directory: -DCMAKE_INSTALL_PREFIX=$absolute_path_to_directory

Notice:
The ../vcmi/ is not a typo, it will place makefile scripts into the build dir
as the build dir is your working dir when calling CMake.

Then build vcmi:
make -j2 (j2 = compile with 2 threads, you can specify any value)

That will generate vcmiclient, vcmiserver, vcmilauncher as well as 3 .so libraries.

III. Installing binaries

To install VCMI you can use "make install" command however generation of distribution-specific packages is usually a better idea. In most cases this can be achieved using tool called "checkinstall"

If you're compiling vcmi for development puposes, the easiest is to use cmake prefix and then make install:

# mkdir .../trunk/install
# cmake -DCMAKE_INSTALL_PREFIX=.../trunk/install ../vcmi
# make && make install
# .../trunk/install/bin/vcmiclient


it's better to use links instead.
Go to /BIN_PATH/, and type:

ln -s .../trunk/build/client/vcmiclient
ln -s .../trunk/build/server/vcmiserver
ln -s .../trunk/build/launcher/vcmilauncher

Go to /LIB_PATH/vcmi, and type:

ln -s .../trunk/build/lib/libvcmi.so libvcmi.so

Go to /LIB_PATH/vcmi/AI, and type:
ln -s .../trunk/build/AI/VCAI/libVCAI.so
ln -s .../trunk/build/AI/StupidAI/libStupidAI.so
ln -s .../trunk/build/AI/BattleAI/libBattleAI.so

Go to /DATA_PATH/vcmi, and type:
ln -s .../trunk/source/config
ln -s .../trunk/source/Mods

IV. Compiling documentation

To compile using Doxygen, the UseDoxygen CMake module must be installed. It can
be fetched from: http://tobias.rautenkranz.ch/cmake/doxygen/

Once UseDoxygen is installed, run:
cmake .
make doc

The built documentation will be available from ./doc