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