joachim99@2: KDiff3-Readme joachim99@2: ============= joachim99@2: joachim99@69: Author: Joachim Eibl (joachim.eibl at gmx.de) joachim99@69: Copyright: (C) 2002-2006 by Joachim Eibl joachim99@73: KDiff3-Version: 0.9.90-Qt4 joachim99@2: joachim99@2: joachim99@2: KDiff3 is a program that joachim99@53: - compares and merges two or three input files or directories, joachim99@2: - shows the differences line by line and character by character (!), joachim99@2: - provides an automatic merge-facility and joachim99@2: - an integrated editor for comfortable solving of merge-conflicts joachim99@53: - has support for KDE-KIO (ftp, sftp, http, fish, smb) joachim99@53: - and has an intuitive graphical user interface. joachim99@53: joachim99@53: joachim99@53: Do you want help translating? Read the README in the po-subdirectory! joachim99@2: joachim99@2: joachim99@2: Licence: joachim99@2: GNU GENERAL PUBLIC LICENSE, Version 2, June 1991 joachim99@2: This program is free software; you can redistribute it and/or modify joachim99@2: it under the terms of the GNU General Public License as published by joachim99@2: the Free Software Foundation; either version 2 of the License, or joachim99@2: (at your option) any later version. joachim99@2: joachim99@2: This program is distributed in the hope that it will be useful, joachim99@2: but WITHOUT ANY WARRANTY; without even the implied warranty of joachim99@2: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the joachim99@2: GNU General Public License for more details. joachim99@2: joachim99@2: You should have received a copy of the GNU General Public License joachim99@2: along with this program; if not, write to the Free Software joachim99@69: Foundation, Inc., 51 Franklin Steet, Fifth Floor, Boston, MA 02111-1307 USA joachim99@2: joachim99@2: For details see file "COPYING". joachim99@2: joachim99@2: joachim99@2: Requirements & Installation: joachim99@73: The version 0.9.90-Qt4 requires Qt 4.x.y (from www.trolltech.com) for compilation. joachim99@73: (Qt-version >= 4.1.2 is recommended.) joachim99@2: joachim99@12: You always need joachim99@73: - kdiff3-0.9.90-Qt4.tar.gz joachim99@2: joachim99@73: - for Un*x: gcc, g++ with version >=3.4.2 joachim99@73: Qt-X11-libraries joachim99@12: joachim99@73: - for Windows: Qt-win-libs joachim99@73: If you have the Qt4 commercial edition, then compile with Visual Studio. joachim99@73: If you use the Qt4 open source edition, then you'll need MinGW. joachim99@73: I verified that compilation and debugging works with these packages (probably newer ones will also work): joachim99@73: - gcc-core-3.4.2-20040916-1.tar.gz joachim99@73: - binutils-2.15.91-20040904-1.tar.gz joachim99@73: - gcc-g++-3.4.2-20040916-1.tar.gz joachim99@73: - mingw-runtime-3.9.tar.gz joachim99@73: - mingw32-make-3.80.0-3.tar.gz joachim99@73: - w32api-3.6.tar.gz (see also the note below) joachim99@73: - gdb-5.2.1-1.exe (for debugging) joachim99@73: joachim99@73: (Note: At the time of writing this README, the MinGW-package that was part joachim99@73: of qt-win-opensource-4.1.2-mingw.exe lacked the latest w32api needed for joachim99@73: KDiff3-compilation. You will need to unpack w32api-3.6.tar.gz or newer joachim99@73: from www.mingw.org into your MinGW-directory.) joachim99@12: joachim99@73: - for Mac: gcc, g++ with version >=3.4.2 joachim99@73: Qt-Mac-libraries joachim99@2: joachim99@2: joachim99@73: Note for KDE-users: joachim99@73: The version 0.9.90-Qt4 doesn't provide support for KDE-3.x joachim99@73: because KDE-3.x.y requires Qt3. joachim99@73: If you need KDE-specific features like KIO-support stick to the joachim99@73: normal version 0.9.90. joachim99@2: joachim99@73: Build-instructions (Unix or Mac): joachim99@73: - Make sure your shell-variable QTDIR is correct and that joachim99@73: your path contains the Qt4-bin-directory. joachim99@73: - cd into the directory kdiff3-0.9.90-Qt4/src and type joachim99@73: - qmake kdiff3.pro joachim99@73: - make (or "gmake" for GNU-Make) joachim99@58: joachim99@73: Build-instructions (Windows): joachim99@73: - Run your qtvars.bat in the Qt4-bin directory. joachim99@73: (This should set your QTDIR, QMAKESPEC and PATH-environment-variables.) joachim99@73: - cd into the directory kdiff3-0.9.90-Qt4/src and type joachim99@73: - qmake kdiff3.pro joachim99@73: - make (which calls either "mingw32-make" or "nmake") joachim99@58: joachim99@73: Debugging with MinGW under Windows: joachim99@73: - cd into the directory kdiff3-0.9.90-Qt4/src joachim99@73: - edit the file "Makefile.Debug" and in the LFLAGS replace "-Wl,-subsystem,windows" with "-Wl,-subsystem,console" joachim99@73: (this is necessary so that gdb can send a break signal to the running program) joachim99@73: - make debug (create a debuggable executable) joachim99@73: - gdb debug\kdiff3.exe joachim99@73: - At the "(gdb)"-prompt type "run" and enter to start. joachim99@73: - While the program runs you can't set breakpoints, first interrupt it with Ctrl-C. joachim99@73: - Use "help" to find out about how to use gdb. (Important commands: run, break, backtrace, print, quit) joachim99@73: Using break with c++-methods requires to specify the parameter types too. Breakpoints in constructors might not work. joachim99@73: - I've tested graphical gdb-frontends too: joachim99@73: 1. Insight (also from mingw.org) worked until I wanted to interrupt the program for setting breakpoints. joachim99@73: 2. Dev-Cpp: The debugger said that the app crashed before even launching it. joachim99@73: Result: For Windows I recommend gdb on the console. Please tell me when things have improved! joachim99@69: joachim99@2: Start from commandline: joachim99@2: - Comparing 2 files: kdiff3 file1 file2 joachim99@2: - Merging 2 files: kdiff3 file1 file2 -o outputfile joachim99@2: - Comparing 3 files: kdiff3 file1 file2 file3 joachim99@2: - Merging 3 files: kdiff3 file1 file2 file3 -o outputfile joachim99@2: Note that file1 will be treated as base of file2 and file3. joachim99@2: joachim99@12: If all files have the same name but are in different directories, you can joachim99@12: reduce typework by specifying the filename only for the first file. E.g.: joachim99@12: - Comparing 3 files: kdiff3 dir1/filename dir2 dir3 joachim99@12: (This also works in the open-dialog.) joachim99@12: joachim99@2: If you start without arguments, then a dialog will appear where you can joachim99@2: select your files via a filebrowser. joachim99@2: joachim99@2: For more documentation, see the help-menu or the subdirectory doc. joachim99@2: joachim99@2: Have fun!