]> git.lyx.org Git - lyx.git/blob - INSTALL.Win32
INSTALL.Win32: mention the new Wiki page
[lyx.git] / INSTALL.Win32
1 Compiling LyX 2.3 for Win32 and creating Windows installer
2 ==========================================================
3
4 It's recommended to compile LyX using Microsoft Visual C++ 2015 and CMake.
5
6
7 Compiling with Microsoft Visual C++ (MSVC)
8 ===================================
9
10         The easiest way to install LyX with MSVC is to follow this Wiki page:
11         
12         http://wiki.lyx.org/Windows/Compilation
13         
14         If you find there any errors please write a mail to the lyx-devel mailing list.
15         
16 ----------------------------------------------------------------------------
17         
18         These following instructions assume the LyX source code is in C:\LyX\lyx-23
19         You can also use another directory if you prefer.
20
21 1       Install MSVC 2015
22
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.
35
36 2       Install Qt
37
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.
45
46 3       Install Python
47
48         Install the latest Python 2.x or 3.x version from
49         https://www.python.org/downloads/
50
51 4       Install CMake
52
53         Install the latest CMake from http://www.cmake.org
54
55 5       Configure
56
57         - Open the "Developer Command Prompt for VS2015" from the
58           "Visual Studio 2015\Visual Studio Tools" subfolder of the start menu.
59           Run the CMake GUI from the command window that was opened.
60           Alternatively, you can create a .bat file that first contains the line
61           call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
62           and then calls the CMake GUI and use this .bat file to start CMake.
63           This is for building a 32bit LyX, if you want to build a 64bit LyX replace
64           'x86' by 'amd64'.
65           The MSVC 2015 command prompt or vcvarsall.bat set some environment
66           variables that are needed for CMake to find the compiler.
67
68         - Set the source code path to C:\LyX\lyx-23
69           Set the build path to C:\LyX\lyx-23-build
70           Click Configure and set the generator to "Visual Studio 14 2015" to
71           build a 32bit LyX or "Visual Studio 14 2015 Win64" to build a 64bit LyX.
72
73         - Set LYX_USE_QT to QT5 and click Configure.
74
75         - Enable LYX_DEPENDENCIES_DOWNLOAD and click Configure.
76           Pre-compiled dependencies will automatically be downloaded.
77           If you installed the dependencies manually, set GNUWIN32_DIR instead
78           to the folder that contains the dependencies and click Configure.
79
80         - Enable the LYX_INSTALL option and click Configure.
81
82         - Click Generate.
83
84 6       Compile
85
86         A Microsoft Visual C++ solution should have been generated at
87         C:\LyX\lyx-23-build\lyx.sln
88         Compile the INSTALL project to get a LyX installation in
89         C:\LyX\lyx-23-build\LYX_INSTALLED.
90
91 7       Copy dependencies
92
93         Copy
94         - C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\bin
95         - C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\imagemagick
96         - C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\Python
97         - C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\ghostscript
98         - C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\Resources
99         to C:\LyX\lyx-23-build\LYX_INSTALLED
100
101         And copy from the Qt bin directory (see item 2 "Install Qt" above)
102         Qt5Core.dll
103         Qt5Gui.dll
104         Qt5Svg.dll
105         Qt5Widgets.dll
106         Qt5WinExtras.dll
107         Qt5Cored.dll (if compiling Debug version)
108         Qt5Guid.dll (if compiling Debug version)
109         Qt5Svgd.dll (if compiling Debug version)
110         Qt5Widgetsd.dll (if compiling Debug version)
111         Qt5WinExtrasd.dll (if compiling Debug version)
112         to C:\LyX\lyx-23-build\LYX_INSTALLED\bin
113
114 8       Define path prefix
115
116         Add the following line to C:\LyX\lyx-23-build\LYX_INSTALLED\Resources\lyxrc.dist,
117         so LyX will find the bundled tools such as Python, ImageMagick
118         and Ghostscript:
119
120         \path_prefix "$LyXDir\bin;$LyXDir\Python;$LyXDir\imagemagick;$LyXDir\ghostscript"
121
122         You may also add the location of your LaTeX installation if it's not on the
123         system PATH, and the location of JabRef.
124
125 9       Start LyX
126
127         C:\LyX\lyx-23-build\LYX_INSTALLED\bin\lyx.exe
128
129
130 Creating the Installer
131 ======================
132
133         - Get NSIS from http://nsis.sourceforge.net
134         - In the LyX source directory, go to development\Win32\packaging\installer
135         - Copy the 3 dll-files from there to the DLL folder of the NSIS installation
136         - Check whether the file locations/paths in settings.nsh match your setup.
137         - Right-click on lyx.nsi and click "Compile NSIS Script".
138
139
140 Compiling with GCC with MinGW64 + MSYS2 Environment using autotools
141 ===================================================================
142 1       Install MSYS2, MINGW64, Qt5+
143         https://wiki.qt.io/MSYS2
144 2       Install bc (Bench calculater), which autotools uses for some reason to compile LyX
145         pacman -S bc
146 3       Run the standard autotools install (Adapt paths and arguments accordingly)
147         ./autogen.sh
148          ./configure --without-x --enable-qt5 --disable-debug --enable-optimization --prefix=/mingw64
149         make
150         make install
151
152
153 Cross-Compiling on unix with MXE using autotools
154 =================================================
155 1       Install MXE: http://mxe.cc
156         You can either install from sources, the generic .tar binaries or debian .deb packages.
157         Installing the following .deb packages will drag in all needed dependencies:
158                 mxe-x86-64-w64-mingw32.shared-file
159                 mxe-x86-64-w64-mingw32.shared-gcc
160                 mxe-x86-64-w64-mingw32.shared-libiconv
161                 mxe-x86-64-w64-mingw32.shared-qtimageformats
162                 mxe-x86-64-w64-mingw32.shared-qtsvg
163                 mxe-x86-64-w64-mingw32.shared-qtwinextras
164         Of course you can also use the static and/or 32bit versions.
165 2       Run the standard autotools install (Adapt paths and arguments accordingly)
166         ./autogen.sh
167         mkdir builddir-mingw
168         cd builddir-mingw
169         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
170         PATH="/usr/lib/mxe/usr/bin:$PATH" make
171         PATH="/usr/lib/mxe/usr/bin:$PATH" DESTDIR=/tmp/lyxinstall make install
172         This uses the paths from the 64bit shared MXE version installed from .deb packages.
173 3       If you want to run the resulting lyx.exe from the build directory using wine,
174         create symlinks for all needed .dlls:
175         cd builddir-mingw/src
176         ln -s /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/bin/*.dll .
177         ln -s /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/bin/*.dll .
178         wine64 lyx.exe
179