1 Compiling LyX 2.3 for Win32 and creating Windows installer
2 ==========================================================
4 It's recommended to compile LyX using Microsoft Visual C++ 2015 and CMake.
7 Compiling with Microsoft Visual C++ (MSVC)
8 ===================================
10 The easiest way to install LyX with MSVC is to follow this Wiki page:
12 http://wiki.lyx.org/Windows/Compilation
14 If you find there any errors please write a mail to the lyx-devel mailing list.
16 ----------------------------------------------------------------------------
18 The following instructions assume the LyX source code is in C:\LyX\lyx-23
19 You can also use another directory if you prefer.
23 If you don't have Visual C++ 2015 installed, get the free Community edition
24 from https://www.visualstudio.com/. Make sure that the following two
25 features are selected for installation:
26 - "Visual C++" from "Programming languages" (only the first option
27 "Common Tools for Visual C++ 2015" is needed)
28 - "Tools and Windows SDKs" from "Windows 8.1 and Windows Phone 8.0/8.1 Tools"
29 The latter one requires Windows 8.1. If you use an older windows version
30 please install the "Windows Software Development Kit (SDK) für Windows 8.1"
31 from https://developer.microsoft.com/en-us/windows/downloads/windows-8-1-sdk.
32 This version requires at least Windows 7.
33 If the build complains later that it cannot find the file
34 C:\Microsoft.Cpp.Default.props then the SDK is not installed properly.
38 Download the latest Qt for Open Source C++ development on Windows (VS2015)
39 from https://qt.io/download-open-source/
40 Qt 5.6.x is recommended, but 5.7.x or later versions should work as well.
41 If you want to build LyX as 32bit application, you need Qt x86.
42 If you want to build LyX as 64bit application, you need Qt x64.
43 Make sure that the bin subfolder of the Qt installation (e.g.
44 C:\Qt\Qt5.6.1\5.6\msvc2015\bin) is listed in the PATH environment variable.
48 Install the latest Python 2.x or 3.x version from
49 https://www.python.org/downloads/
53 Install the latest CMake from http://www.cmake.org
55 5 Download dependencies
57 Download the LyX for Windows build dependencies from
58 ftp.lyx.de/LyXWinInstaller/lyx-windows-deps-msvc2015.zip
62 - Open the "Developer Command Prompt for VS2015" from the
63 "Visual Studio 2015\Visual Studio Tools" subfolder of the start menu.
64 Run the CMake GUI from the command window that was opened.
65 Alternatively, you can create a .bat file that first contains the line
66 call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
67 and then calls the CMake GUI and use this .bat file to start CMake.
68 This is for building a 32bit LyX, if you want to build a 64bit LyX replace
70 The MSVC 2015 command prompt or vcvarsall.bat set some environment
71 variables that are needed for CMake to find the compiler.
73 - Set the source code path to C:\LyX\lyx-23
74 Set the build path to C:\LyX\lyx-23-build
75 Click Configure and set the generator to "Visual Studio 14 2015" to
76 build a 32bit LyX or "Visual Studio 14 2015 Win64" to build a 64bit LyX.
78 - Set LYX_USE_QT to QT5 and click Configure.
80 - Set GNUWIN32_DIR to the folder that contains the dependencies.
81 (This alternative does currently not work:
82 Enable LYX_DEPENDENCIES_DOWNLOAD and click Configure.
83 Pre-compiled dependencies will automatically be downloaded.)
85 - Enable the LYX_INSTALL option and click Configure.
91 A Microsoft Visual C++ solution should have been generated at
92 C:\LyX\lyx-23-build\lyx.sln
93 Compile the INSTALL project to get a LyX installation in
94 C:\LyX\lyx-23-build\LYX_INSTALLED.
99 - C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\bin
100 - C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\imagemagick
101 - C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\Python
102 - C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\ghostscript
103 - C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\Resources
104 to C:\LyX\lyx-23-build\LYX_INSTALLED
106 And copy from the Qt bin directory (see item 2 "Install Qt" above)
112 Qt5Cored.dll (if compiling Debug version)
113 Qt5Guid.dll (if compiling Debug version)
114 Qt5Svgd.dll (if compiling Debug version)
115 Qt5Widgetsd.dll (if compiling Debug version)
116 Qt5WinExtrasd.dll (if compiling Debug version)
117 to C:\LyX\lyx-23-build\LYX_INSTALLED\bin
121 Add the following line to C:\LyX\lyx-23-build\LYX_INSTALLED\Resources\lyxrc.dist,
122 so LyX will find the bundled tools such as Python, ImageMagick
125 \path_prefix "$LyXDir\bin;$LyXDir\Python;$LyXDir\imagemagick;$LyXDir\ghostscript"
127 You may also add the location of your LaTeX installation if it's not on the
128 system PATH, and the location of JabRef.
132 C:\LyX\lyx-23-build\LYX_INSTALLED\bin\lyx.exe
135 Creating the Installer
136 ======================
138 - Get NSIS from http://nsis.sourceforge.net
139 - In the LyX source directory, go to development\Win32\packaging\installer
140 - Follow the steps in the file Readme.txt
143 Compiling with GCC with MinGW64 + MSYS2 Environment using autotools
144 ===================================================================
145 1 Install MSYS2, MINGW64, Qt5+
146 https://wiki.qt.io/MSYS2
147 2 Install bc (Bench calculater), which autotools uses for some reason to compile LyX
149 3 Run the standard autotools install (Adapt paths and arguments accordingly)
151 ./configure --without-x --enable-qt5 --disable-debug --enable-optimization --prefix=/mingw64
156 Cross-Compiling on unix with MXE using autotools
157 =================================================
158 1 Install MXE: http://mxe.cc
159 You can either install from sources, the generic .tar binaries or debian .deb packages.
160 Installing the following .deb packages will drag in all needed dependencies:
161 mxe-x86-64-w64-mingw32.shared-file
162 mxe-x86-64-w64-mingw32.shared-gcc
163 mxe-x86-64-w64-mingw32.shared-libiconv
164 mxe-x86-64-w64-mingw32.shared-qtimageformats
165 mxe-x86-64-w64-mingw32.shared-qtsvg
166 mxe-x86-64-w64-mingw32.shared-qtwinextras
167 Of course you can also use the static and/or 32bit versions.
168 2 Run the standard autotools install (Adapt paths and arguments accordingly)
172 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
173 PATH="/usr/lib/mxe/usr/bin:$PATH" make
174 PATH="/usr/lib/mxe/usr/bin:$PATH" DESTDIR=/tmp/lyxinstall make install
175 This uses the paths from the 64bit shared MXE version installed from .deb packages.
176 3 If you want to run the resulting lyx.exe from the build directory using wine,
177 create symlinks for all needed .dlls:
178 cd builddir-mingw/src
179 ln -s /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/bin/*.dll .
180 ln -s /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/bin/*.dll .