-Compiling LyX 1.5 for Win32
-===========================
+Compiling LyX 2.3 for Win32 and creating Windows installer
+==========================================================
-LyX 1.5 can be compiled with Microsoft Visual C++ 2005 or MinGW.
+It's recommended to compile LyX using Microsoft Visual C++ 2015 and CMake.
-Compiling with MSVC 2005
-========================
-1 Install MSVC 2005
+Compiling with Microsoft Visual C++ (MSVC)
+===================================
- If you don't have MSVC 2005 installed, download and install the free
- Express edition from http://msdn.microsoft.com/vstudio/express/visualc/
+ The easiest way to install LyX with MSVC is to follow this Wiki page:
+
+ http://wiki.lyx.org/Windows/Compilation
+
+ If you find there any errors please write a mail to the lyx-devel mailing list.
+
+----------------------------------------------------------------------------
+
+ The following instructions assume the LyX source code is in C:\LyX\lyx-23
+ You can also use another directory if you prefer.
-2 Install the Windows Platform SDK
+1 Install MSVC 2015
- see: http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
- (You don't need to install the IIS, MDAC, and Tablet PC SDK that are
- delivered with the Platform SDK.)
+ If you don't have Visual C++ 2015 installed, get the free Community edition
+ from https://www.visualstudio.com/. Make sure that the following two
+ features are selected for installation:
+ - "Visual C++" from "Programming languages" (only the first option
+ "Common Tools for Visual C++ 2015" is needed)
+ - "Tools and Windows SDKs" from "Windows 8.1 and Windows Phone 8.0/8.1 Tools"
+ The latter one requires Windows 8.1. If you use an older windows version
+ please install the "Windows Software Development Kit (SDK) für Windows 8.1"
+ from https://developer.microsoft.com/en-us/windows/downloads/windows-8-1-sdk.
+ This version requires at least Windows 7.
+ If the build complains later that it cannot find the file
+ C:\Microsoft.Cpp.Default.props then the SDK is not installed properly.
-3 configure MSVC
+2 Install Qt
- Follow exactly the steps of
- http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
- In Step 3 follow also the things noted as alternative.
- (If you later get an error message that "windows.h" cannot be found,
- create the global Windows environment variables "INCLUDE" and "LIB".
- INCLUDE contains the paths to the "include" folders of the installed
- platform SDK and of MSVC. LIB contains the corresponding "lib" folders.)
+ Download the latest Qt for Open Source C++ development on Windows (VS2015)
+ from https://qt.io/download-open-source/
+ Qt 5.6.x is recommended, but 5.7.x or later versions should work as well.
+ If you want to build LyX as 32bit application, you need Qt x86.
+ If you want to build LyX as 64bit application, you need Qt x64.
+ Make sure that the bin subfolder of the Qt installation (e.g.
+ C:\Qt\Qt5.6.1\5.6\msvc2015\bin) is listed in the PATH environment variable.
-4 Install Python
+3 Install Python
- Get the latest Python 2.5 version at
- http://www.python.org/download/releases/2.5/
+ Install the latest Python 2.x or 3.x version from
+ https://www.python.org/downloads/
- Install in C:\Python25 and add this directory to the PATH environment
- variable (Start > Settings > Control Panel > System > Advanced >
- Environment Variables).
+4 Install CMake
-5 Install SCons
+ Install the latest CMake from http://www.cmake.org
- Download and install SCons 0.96.92 (or newer, but not 0.96.1) from http://www.scons.org/download.php
+5 Download dependencies
-6 Install the dependencies
+ Download the LyX for Windows build dependencies from
+ ftp.lyx.de/LyXWinInstaller/lyx-windows-deps-msvc2015.zip
- Download http://www.lyx.org/~bpeng/lyx-windows-deps-msvc-qt422.zip
- and extract in the root directory of your LyX files (so you will get
- a directory called lyx-windows-deps-msvc next to the other directories
- like src, development etc.).
+6 Configure
-7 Compile
+ - Open the "Developer Command Prompt for VS2015" from the
+ "Visual Studio 2015\Visual Studio Tools" subfolder of the start menu.
+ Run the CMake GUI from the command window that was opened.
+ Alternatively, you can create a .bat file that first contains the line
+ call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
+ and then calls the CMake GUI and use this .bat file to start CMake.
+ This is for building a 32bit LyX, if you want to build a 64bit LyX replace
+ 'x86' by 'amd64'.
+ The MSVC 2015 command prompt or vcvarsall.bat set some environment
+ variables that are needed for CMake to find the compiler.
- From MS Visual Studio command prompt (not the regular cmd.exe),
- run development\Win32\packaging\build_msvc.bat
+ - Set the source code path to C:\LyX\lyx-23
+ Set the build path to C:\LyX\lyx-23-build
+ Click Configure and set the generator to "Visual Studio 14 2015" to
+ build a 32bit LyX or "Visual Studio 14 2015 Win64" to build a 64bit LyX.
-8 First start of LyX
+ - Set LYX_USE_QT to QT5 and click Configure.
- To start the just compiled lyx.exe, it is necessary to copy the following
- files to the folder where the just compiled "lyx.exe" is:
+ - Set GNUWIN32_DIR to the folder that contains the dependencies.
+ (This alternative does currently not work:
+ Enable LYX_DEPENDENCIES_DOWNLOAD and click Configure.
+ Pre-compiled dependencies will automatically be downloaded.)
- Aiksaurus.dll
- aspell.dll
- iconv.dll
- intl.dll
- Microsoft.VC80.CRT.manifest
- msvcp80.dll
- msvcr80.dll
- QtCore4.dll
- QtGui4.dll
+ - Enable the LYX_INSTALL option and click Configure.
- All files except of the msvcp80.dll and msvcr80.dll should be present on your system.
- The missing files can be downloaded from:
- http://wiki.lyx.org/uploads/DevelTools/buildLyx/LyXWinBuildDLLs.zip
- (Currently there is a bug in the aspell.dll, so use the version that is delivered in this zip-file.)
+ - Click Generate.
- msvcp80.dll and msvcr80.dll are the C Runtime and C++ libraries
- supplied with MSVC 2005. They are freely redistributable.
- See http://msdn2.microsoft.com/en-us/library/8kche8ah(VS.80).aspx
- for details.
+7 Compile
- All of the other .dlls above and the lyx executable are compiled
- from code released under the GPL which states (section 3) that
- GPL software may be linked against system files such as msvcp80.dll
- and msvcr80.dll.
+ A Microsoft Visual C++ solution should have been generated at
+ C:\LyX\lyx-23-build\lyx.sln
+ Compile the INSTALL project to get a LyX installation in
+ C:\LyX\lyx-23-build\LYX_INSTALLED.
-Compiling with MinGW
-====================
+8 Copy dependencies
-1 Install MinGW, and all the gcc-related stuff, and win32api.
+ Copy
+ - C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\bin
+ - C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\imagemagick
+ - C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\Python
+ - C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\ghostscript
+ - C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\Resources
+ to C:\LyX\lyx-23-build\LYX_INSTALLED
-2 download qt-win-opensource-4.x.x-mingw.exe and install to c:\qt\4.2.2.
+ And copy from the Qt bin directory (see item 2 "Install Qt" above)
+ Qt5Core.dll
+ Qt5Gui.dll
+ Qt5Svg.dll
+ Qt5Widgets.dll
+ Qt5WinExtras.dll
+ Qt5Cored.dll (if compiling Debug version)
+ Qt5Guid.dll (if compiling Debug version)
+ Qt5Svgd.dll (if compiling Debug version)
+ Qt5Widgetsd.dll (if compiling Debug version)
+ Qt5WinExtrasd.dll (if compiling Debug version)
+ to C:\LyX\lyx-23-build\LYX_INSTALLED\bin
-3 install python and scons as instructed above. Set $path for python
- to make your life a bit easier.
+9 Define path prefix
-4 Check out lyx svn to c:\lyx-devel\lyx-1.5.x
+ Add the following line to C:\LyX\lyx-23-build\LYX_INSTALLED\Resources\lyxrc.dist,
+ so LyX will find the bundled tools such as Python, ImageMagick
+ and Ghostscript:
-5 Download zlib binaries and developer files (zlib-1.2.3-bin.zip and
- zlib-1.2.3-lib.zip) from http://gnuwin32.sourceforge.net/packages/zlib.htm
- libiconv from http://gnuwin32.sourceforge.net/packages/libiconv.htm
- gettext from http://gnuwin32.sourceforge.net/packages/gettext.htm
- unpack all of them to the same directory c:\lyx-devel\mingw_deps.
+ \path_prefix "$LyXDir\bin;$LyXDir\Python;$LyXDir\imagemagick;$LyXDir\ghostscript"
-6 start a command window, run commands:
- $ cd c:\lyx-devel\lyx-1.5.x
- $ scons -f development\scons\SConstruct \
- extra_lib_path=..\mingw_deps\lib \
- extra_inc_path=..\mingw_deps\include \
- extra_bin_path=..\mingw_deps\bin \
- qt_dir=c:\qt\4.2.2 \
- DESTDIR=..\lyx-1.5-install \
- install
+ You may also add the location of your LaTeX installation if it's not on the
+ system PATH, and the location of JabRef.
+10 Start LyX
-Creating the Installer
-======================
+ C:\LyX\lyx-23-build\LYX_INSTALLED\bin\lyx.exe
- To create an installer with LyX and all related components, download
- and install the latest NSIS from http://nsis.sourceforge.net
- Open development\Win32\packaging\installer\setttings.user.nsh and modify
- the settings depending on your build environment.
-
- Finally, go to development\Win32\packaging\installer
- (in a normal Windows Explorer), right-click on lyx.nsi and click
- "Compile NSIS Script".
+Creating the Installer
+======================
- You can also use the installer target of scons. Namely, use a command like
- $ scons -f development\scons\SConscript installer
- This will create $BUILDDIR\lyx-version-timestamp-Installer.exe for a devel version,
- and $BUILDDIR\lyx-version-Install.exe for a released version of lyx.
+ - Get NSIS from http://nsis.sourceforge.net
+ - In the LyX source directory, go to development\Win32\packaging\installer
+ - Follow the steps in the file Readme.txt
+
+
+Compiling with GCC with MinGW64 + MSYS2 Environment using autotools
+===================================================================
+1 Install MSYS2, MINGW64, Qt5+
+ https://wiki.qt.io/MSYS2
+2 Install bc (Bench calculater), which autotools uses for some reason to compile LyX
+ pacman -S bc
+3 Run the standard autotools install (Adapt paths and arguments accordingly)
+ ./autogen.sh
+ ./configure --without-x --enable-qt5 --disable-debug --enable-optimization --prefix=/mingw64
+ make
+ make install
+
+
+Cross-Compiling on unix with MXE using autotools
+=================================================
+1 Install MXE: http://mxe.cc
+ You can either install from sources, the generic .tar binaries or debian .deb packages.
+ Installing the following .deb packages will drag in all needed dependencies:
+ mxe-x86-64-w64-mingw32.shared-file
+ mxe-x86-64-w64-mingw32.shared-gcc
+ mxe-x86-64-w64-mingw32.shared-libiconv
+ mxe-x86-64-w64-mingw32.shared-qtimageformats
+ mxe-x86-64-w64-mingw32.shared-qtsvg
+ mxe-x86-64-w64-mingw32.shared-qtwinextras
+ Of course you can also use the static and/or 32bit versions.
+2 Run the standard autotools install (Adapt paths and arguments accordingly)
+ ./autogen.sh
+ mkdir builddir-mingw
+ cd builddir-mingw
+ PATH="/usr/lib/mxe/usr/bin:$PATH" ../configure --host=x86-64-w64-mingw32.shared --with-qt-dir=/usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5 --enable-qt5 --with-included-boost --with-included-hunspell --with-included-mythes --disable-debug --enable-optimization --prefix=/mingw64
+ PATH="/usr/lib/mxe/usr/bin:$PATH" make
+ PATH="/usr/lib/mxe/usr/bin:$PATH" DESTDIR=/tmp/lyxinstall make install
+ This uses the paths from the 64bit shared MXE version installed from .deb packages.
+3 If you want to run the resulting lyx.exe from the build directory using wine,
+ create symlinks for all needed .dlls:
+ cd builddir-mingw/src
+ ln -s /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/bin/*.dll .
+ ln -s /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/bin/*.dll .
+ wine64 lyx.exe
- If you also want to generate bundled installer, download
- lyx-windows-bundle-deps.zip from http://www.lyx.org/~bpeng, unpack
- to lyx-windows-bundle-deps under the top source directory, and run
- $ scons -f development\scons\SConstruct installer bundle=1
- If you prefer to use another directory, you can use option bundle_dir like
- $ scons -f development\scons\SConstruct installer bundle=1 bundle_dir=c:\bundle