下载patch: http://jaist.dl.sourceforge.net/sourceforge/qtwin/acs-4.3.0-patch2.zip
解压缩patch到源码目录
执行install....
执行qconfigure msvc2005
Psi-Qt4-Windows Build Scripts
From PsiWiki
Disclaimer: These instructions are unofficial and may or may not work for you.
This page contains scripts for building Psi-Qt4 on Windows platform.
Notes:
- If You were looking for scripts for building Psi on Windows, please consult Psi/Windows build scripts article.
- These scripts may take the advantages of superior command-line cmd.exe found in Windows NT/2000/XP/Server 2003 and may not work properly on Windows 95/98/Me.
Contents[hide] |
Main worker script
This script does the main job compiling Psi-Qt4 and is called from inside other scripts. Should not be called directly from the command-line. It must be placed in makewin_build.bat file in order for other scripts to work properly.
@echo off
if "%1" == "" goto NoArgs
REM ----- Setup compilation and release process -----
set name=Psi-Qt4 for Windows
set project=psi.pro
set outdir=psiwin
set binary=Psi.exe
set system=%windir%/system
if "%OS%" == "Windows_NT" set system=%system%32
call %1 > nul
shift
REM ----- Compile and link Psi -----
echo This will compile, link and release %name%.
echo STEP 1: Create Makefile for QCA
title Creating Makefile for QCA...
cd ../qca2
qmake qca.pro > ../psi-qt4/makewin.log
if errorlevel 1 goto NoQMake
echo STEP 2: Compile QCA
title Compiling QCA...
%MAKE% qmake_all >> ../psi-qt4/makewin.log
cd src
%MAKE% release >> ../../psi-qt4/makewin.log
cd ..
copy lib/qca2.lib ../psi-qt4/src/ > nul
copy lib/qca2.lib ../qca2-openssl/ > nul
cd ../psi-qt4
echo STEP 3: Create Makefile for %name%
title Creating Makefile for %name%...
qmake %project% > makewin.log
if errorlevel 1 goto NoQMake
echo STEP 4: Compile %name%
title Compiling %name%...
%MAKE% qmake_all >> makewin.log
cd src
%MAKE% release >> ../makewin.log
cd ..
if errorlevel 1 goto CompileFailed
echo STEP 5: Create Makefile for QCA-OpenSSL plugin for %name%
title Creating Makefile for QCA-OpenSSL plugin for %name%...
cd ../qca2-openssl
qmake qca-openssl.pro >> ../psi-qt4/makewin.log
echo STEP 6: Compile QCA-OpenSSL plugin for %name%
title Compiling QCA-OpenSSL plugin for %name%...
%MAKE% release >> ../psi-qt4/makewin.log
if errorlevel 1 goto CompileFailed
cd ..
REM ----- Copy output to single directory -----
:Release
echo STEP 7: Prepare for release of %name%
title Preparing for release of %name%...
if exist %outdir% rmdir /s /q %outdir%
mkdir %outdir%
copy src/release/%binary% %outdir% > nul
copy %QTDIR%/bin/qt*4.dll %outdir% > nul
del %outdir%/qt*d4.dll > nul
mkdir %outdir%/crypto
copy ../qca2-openssl/release/qca-openssl.dll %outdir%/crypto > nul
copy ../qca2/lib/qca2.dll %outdir% > nul
copy %system%/libeay32.dll %outdir% > nul
copy %system%/ssleay32.dll %outdir% > nul
xcopy /d /e certs %outdir%/certs/ > nul
xcopy /d /e iconsets %outdir%/iconsets/ > nul
xcopy /d /e sound %outdir%/sound/ > nul
copy COPYING %outdir% > nul
copy README %outdir% > nul
REM ----- Process succeeded -----
:Finished
echo Seems that %name% is ready for distibution.
title Done.
goto End
REM ----- Error handling -----
:NoArgs
echo No arguments at command line.
goto End
:NoQMake
echo Failed to run 'qmake'. Are you sure you have Qt4 set up?
goto End
:CopyFailed
echo Copy failed, stopping.
goto End
:CompileFailed
echo Compile failed, stopping. See 'makewin.log' file for details.
goto End
REM ----- Cleanup -----
:End
set name=
set project=
set outdir=
set binary=
set system=
Compiler specific scripts
This section provides compiler-specific scripts - each compiler is provided with two scripts - one setup and one driver.
MinGW specific scripts
Setup script
This script sets up the environment for MinGW compiler. It must be named setup_g++.bat.
@echo off
:: Set paths for Qt 4.1.0/OpenSource
set QTDIR=C:/Qt/4.1.0
:: Set paths and variables for MinGW (g++)
call "%QTDIR%/bin/qtvars.bat"
:: Set names for some tools
set MAKE=mingw-win32
Note:
- You might need to change the location of Your Qt4/OpenSource installation (C:/Qt/4.1.0 here).
Driver script
This script drives the whole build process for MinGW compiler. I prefer it to be named makewin_g++.bat, but any name is good.
@echo off
call makewin_build.bat setup_g++.bat %1
You run this script to build Psi-Qt4/Windows using MinGW.
Microsoft Visual C++ .NET scripts
Setup script
This script sets up the environment for Microsoft Visual C++ .NET compiler. It must be named setup_msvc.net.bat.
@echo off
:: Set paths and variables for Microsoft Visual C++ .NET 2003
call "%VS71COMNTOOLS%vsvars32.bat"
:: Append Microsoft Platform SDK (comment out if not installed)
set INCLUDE=C:/Progra~1/Micros~2/include;%INCLUDE%
set LIB=C:/Progra~1/Micros~2/lib;%LIB%
:: Set paths for Qt 4.1.0/OpenSource for VS.NET
set QTDIR=C:/Qt/4.1.0
set QMAKESPEC=win32-msvc.net
set PATH=%QTDIR%/bin;%PATH%
:: Set names for some tools
set MAKE=nmake /nologo
Notes:
- You might need to change the location of Your Qt4/OpenSource installation (C:/Qt/4.1.0 here).
- If You use Microsoft Visual C++ .NET (a.k.a. Microsoft Visual C++ .NET 2002) compiler, You need to replace %VS71COMNTOOLS% with %VSCOMNTOOLS% in order for the script to work correctly.
- If You have no Microsoft Platform SDK installed, delete following lines from the above script:
:: Append Microsoft Platform SDK (comment out if not installed)
set INCLUDE=C:/Progra~1/Micros~2/include;%INCLUDE%
set LIB=C:/Progra~1/Micros~2/lib;%LIB%
Otherwise, You have to replace C:/Progra~1/Micros~2 with the short path to Microsoft Platform SDK installation directory. It can be obtained by running the following command:
dir /x "%programfiles%/*Platform*"
%programfiles% is usually C:/Progra~1.
Driver script
This script drives the whole build process for Microsoft Visual C++ .NET compiler. I prefer it to be named makewin_msvc.net.bat, but any name is good.
@echo off
call makewin_build.bat setup_msvc.net.bat %1
You run this script to build Psi-Qt4/Windows using Microsoft Visual C++ .NET.
Microsoft Visual C++ 2005 scripts
Setup script
This script sets up the environment for Microsoft Visual C++ 2005 compiler. It must be named setup_msvc2005.bat.
@echo off
:: Set paths and variables for Microsoft Visual C++ 2005
call "%VS80COMNTOOLS%vsvars32.bat"
:: Set paths for Qt 4.1.0/OpenSource for VS2005
set QTDIR=C:/Qt/4.1.0
set QMAKESPEC=win32-msvc2005
set PATH=%QTDIR%/bin;%PATH%
:: Set names for some tools
set MAKE=nmake /nologo
Notes:
- You might need to change the location of Your Qt4/OpenSource installation (C:/Qt/4.1.0 here).
Driver script
This script drives the whole build process for Microsoft Visual C++ 2005 compiler. I prefer it to be named makewin_msvc2005.bat, but any name is good.
@echo off
call makewin_build.bat setup_msvc2005.bat %1
You run this script to build Psi-Qt4/Windows using Microsoft Visual C++ 2005.
Cleanup script
This script cleans up the source directories of Psi-Qt4, QCA2 and QCA-OpenSSL and prepares them for complete rebuild. I prefer it to be named makewin_clean.bat.
@echo off
if not exist lang goto psiwidgets
cd lang
if exist *.qm del *.qm
cd ..
:psiwidgets
if not exist libpsi/psiwidgets goto qca
cd libpsi/psiwidgets
if exist tmp rmdir /s /q tmp
if exist debug rmdir /s /q debug
if exist release rmdir /s /q release
if exist *.dll del *.dll
if exist *.exp del *.exp
if exist *.idb del *.idb
if exist *.lib del *.lib
if exist moc_*.* del moc_*.*
if exist *.moc del *.moc
if exist *.o del *.o
if exist *.obj del *.obj
if exist *.pdb del *.pdb
if exist *.so del *.so
if exist *.tds del *.tds
if exist Makefile del Makefile
if exist *.Debug del *.Debug
if exist *.Release del *.Release
cd ../..
:qca
if not exist ../qca2 goto tls
cd ../qca2
for /r %%x in (.) do (
if exist %%x/.moc rmdir /s /q %%x/.moc
if exist %%x/.obj rmdir /s /q %%x/.obj
if exist %%x/.ui rmdir /s /q %%x/.ui
if exist %%x/moc rmdir /s /q %%x/moc
if exist %%x/obj rmdir /s /q %%x/obj
if exist %%x/ui rmdir /s /q %%x/ui
if exist %%x/debug rmdir /s /q %%x/debug
if exist %%x/release rmdir /s /q %%x/release
if exist %%x/bin rmdir /s /q %%x/bin
if exist %%x/lib rmdir /s /q %%x/lib
if exist %%x/*.dll del %%x/*.dll
if exist %%x/*.exp del %%x/*.exp
if exist %%x/*.idb del %%x/*.idb
if exist %%x/*.lib del %%x/*.lib
if exist %%x/*.moc del %%x/*.moc
if exist %%x/*.o del %%x/*.o
if exist %%x/*.obj del %%x/*.obj
if exist %%x/*.pdb del %%x/*.pdb
if exist %%x/*.so del %%x/*.so
if exist %%x/*.tds del %%x/*.tds
if exist %%x/Makefile del %%x/Makefile
if exist %%x/*.Debug del %%x/*.Debug
if exist %%x/*.Release del %%x/*.Release
)
cd ../psi-qt4
:tls
if not exist ../qca2-openssl goto src
cd ../qca2-openssl
if exist debug rmdir /s /q debug
if exist release rmdir /s /q release
if exist *.dll del *.dll
if exist *.exp del *.exp
if exist *.idb del *.idb
if exist *.lib del *.lib
if exist *.moc del *.moc
if exist *.o del *.o
if exist *.obj del *.obj
if exist *.pdb del *.pdb
if exist *.so del *.so
if exist *.tds del *.tds
if exist Makefile del Makefile
if exist *.Debug del *.Debug
if exist *.Release del *.Release
cd ../psi-qt4
:src
if not exist src goto win32
cd src
for /r %%x in (.) do (
if exist %%x/.moc rmdir /s /q %%x/.moc
if exist %%x/.obj rmdir /s /q %%x/.obj
if exist %%x/.rcc rmdir /s /q %%x/.rcc
if exist %%x/.ui rmdir /s /q %%x/.ui
if exist %%x/moc rmdir /s /q %%x/moc
if exist %%x/obj rmdir /s /q %%x/obj
if exist %%x/rcc rmdir /s /q %%x/rcc
if exist %%x/ui rmdir /s /q %%x/ui
if exist %%x/debug rmdir /s /q %%x/debug
if exist %%x/release rmdir /s /q %%x/release
if exist %%x/bin rmdir /s /q %%x/bin
if exist %%x/lib rmdir /s /q %%x/lib
if exist %%x/*.dll del %%x/*.dll
if exist %%x/*.exe del %%x/*.exe
if exist %%x/*.exp del %%x/*.exp
if exist %%x/*.idb del %%x/*.idb
if exist %%x/*.lib del %%x/*.lib
if exist %%x/*.moc del %%x/*.moc
if exist %%x/*.o del %%x/*.o
if exist %%x/*.obj del %%x/*.obj
if exist %%x/*.pdb del %%x/*.pdb
if exist %%x/*.so del %%x/*.so
if exist %%x/*.tds del %%x/*.tds
if exist %%x/Makefile del %%x/Makefile
if exist %%x/*.Debug del %%x/*.Debug
if exist %%x/*.Release del %%x/*.Release
)
cd ..
:win32
if not exist win32 goto root
cd win32
if exist *.res del *.res
cd ..
:root
if exist psiwin rmdir /s /q psiwin
if exist *.log del *.log
if exist Makefile del Makefile
if exist *.Debug del *.Debug
if exist *.Release del *.Release

3466

被折叠的 条评论
为什么被折叠?



