lyx_mirror/INSTALL.Win32

180 lines
6.1 KiB
Plaintext
Raw Normal View History

Compiling LyX 2.4 for Win32 and creating Windows installer
==========================================================
It's recommended to compile LyX using Microsoft Visual C++ 2017 and CMake.
Compiling with Microsoft Visual C++ (MSVC)
===================================
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-24
You can also use another directory if you prefer.
1 Install MSVC 2017
If you don't have Visual C++ 2017 installed, get the free Community edition
from https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=15
2 Install Qt
Download the latest Qt for Open Source C++ development on Windows (VS2017)
from https://qt.io/download-open-source/
Qt 5.12.x is recommended, but 5.9.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.
3 Install Python
Install the latest Python 3.x version from
https://www.python.org/downloads/
Assure that you use the installer option "Add Python 3.x to PATH"
4 Install CMake
Install the latest CMake from http://www.cmake.org
5 Download dependencies
Download the LyX for Windows build dependencies from
ftp.lyx.de/LyXWinInstaller/lyx-windows-deps-msvc2017.zip
and extract it e.g. to
C:\LyX\lyx-24\lyx-windows-deps-msvc2017
6 Configure
- Open the CMake GUI
- Set the source code path to C:\LyX\lyx-24
Set the build path to C:\LyX\lyx-24-build
Click Configure and set the generator to "Visual Studio 15 2017" to
build a 32bit LyX or add the x64 option to build a 64bit LyX.
- Set LYX_USE_QT to QT5 and click Configure.
- You will now get an error about missing GNUWIN32 directory.
- 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.)
- set CMAKE_PREFIX_PATH to the path of Qt
e.g. to C:/Qt/Qt5.12.5/5.12.5/msvc2017
- Enable the LYX_INSTALL option and click Configure.
- Click Generate.
7 Compile
A Microsoft Visual C++ solution should has been generated at
C:\LyX\lyx-23-build\lyx.sln
- Open the lyx.sln by double-clicking on it
- Use the menu BUILD -> Build Solution
8 Copy dependencies
- Copy these folders:
C:\LyX\lyx-24\lyx-windows-deps-msvc2017\bin
C:\LyX\lyx-24\lyx-windows-deps-msvc2017\imagemagick
C:\LyX\lyx-24\lyx-windows-deps-msvc2017\Python
C:\LyX\lyx-24\lyx-windows-deps-msvc2017\ghostscript
C:\LyX\lyx-24\lyx-windows-deps-msvc2017\Resources
to C:\LyX\lyx-24-build\LYX_INSTALLED
(allow the request to overwrite)
- Copy from the Qt bin directory (see section 2 "Install Qt" above) these files:
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-24-build\LYX_INSTALLED\bin
- Copy from this Qt directory
C:\Qt\Qt5.12.5\5.12.5\msvc2017\plugins
these subdirectories:
iconengines
imageformats
platforms
2019-10-20 21:24:01 +00:00
styles
to C:\LyX\lyx-24-build\LYX_INSTALLED\bin
9 Start LyX
C:\LyX\lyx-24-build\LYX_INSTALLED\bin\lyx.exe
10 Define path prefix
In LyX use the menu Tools->Preferences
There input the the following the the field "Path prefix":
"$LyXDir\bin;$LyXDir\Python;$LyXDir\imagemagick;$LyXDir\ghostscript"
You may also add the location of your LaTeX installation if it's not on the
system PATH, and the location of JabRef.
Creating the Installer
======================
- 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