Compiling LyX 1.5 for Win32 =========================== LyX 1.5 can be compiled with Microsoft Visual C++ 2005 or MinGW. Compiling with MSVC 2005 ======================== 1 Install MSVC 2005 If you don't have MSVC 2005 installed, download and install the free Express edition from http://msdn.microsoft.com/vstudio/express/visualc/ (Do not install the service pack 1 for MSVC 2005 as this introduces a bug that makes compiling LyX's Qt 4 frontend impossible, see http://support.microsoft.com/?scid=kb%3Ben-us%3B930198&x=13&y=12) 2 Install the Windows Platform SDK 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.) 3 configure MSVC 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.) 4 Install Python Get the latest Python 2.5 version at http://www.python.org/download/releases/2.5/ Install in C:\Python25 and add this directory to the PATH environment variable (Start > Settings > Control Panel > System > Advanced > Environment Variables). 5 Install SCons Download and install SCons 0.96.92 (or newer, but not 0.96.1) from http://www.scons.org/download.php 6 Install the dependencies 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.). 7 Compile From MS Visual Studio command prompt (not the regular cmd.exe), run development\Win32\packaging\build_msvc.bat 8 First start of LyX 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: Aiksaurus.dll aspell.dll iconv.dll intl.dll Microsoft.VC80.CRT.manifest msvcp80.dll msvcr80.dll QtCore4.dll QtGui4.dll 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.) 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. 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. Compiling with MinGW ==================== 1 Install MinGW, and all the gcc-related stuff, and win32api. 2 download qt-win-opensource-4.x.x-mingw.exe and install to c:\qt\4.2.2. 3 install python and scons as instructed above. Set $path for python to make your life a bit easier. 4 Check out lyx svn to c:\lyx-devel\lyx-1.5.x 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. 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 Creating the Installer ====================== 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". 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. 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