使用Visual Studio 2010編譯Firebird 2.5.2源代碼

Firebird是比較著名的開放源代碼關係型數據庫管理系統,最近有個Visual Studio 2010項目要使用Firebird嵌入版,而官方提供的預編譯二進制文件是用Visual Studio 2005編譯的,爲了配套只好自己編譯。Firebird的編譯過程並不複雜,但是由於官方提供Visual Studio工程文件只到2008,編譯前還是要對少量文件作修改。

具體步驟如下:

1.去Firebird官方網站下載Firebird源代碼包Firebird-2.5.2.26539-0.tar.bz2(或更新版本)並解壓縮
(下載地址:http://www.firebirdsql.org/en/server-packages/)
2.下載一個Windows版的sed流編輯器並安裝,修改系統PATH環境變量使sed.exe在系統的可執行文件搜索路徑中
(下載地址:http://sourceforge.net/projects/gnuwin32/files/sed/)
3.將builds\win32下的msvc9目錄更名(或複製一份再更名)爲msvc10,轉換msvc10下的Firebird2.sln和Firebird2Boot.sln爲Visual Studio 2010格式
4.用記事本打開extern\icu\source\allinone\firebird2release.vsprops,刪除一行:
IgnoreDefaultLibraryNames="msvcrt.lib"
然後將extern\icu\source\allinone\allinone_9.sln更名爲allinone_10.sln,轉換爲Visual Studio 2010版的解決方案
5.默認情況下Firebird編譯系統自動識別當前操作系統位數,並編譯相同位數的Firebird,如果想在64位Windows下編譯32位版的Firebird,可打開builds\win32\setenvvar.bat,修改
:: set FB_PROCESSOR_ARCHITECTURE=AMD64

set FB_PROCESSOR_ARCHITECTURE=x86
6.修改builds\win32\setenvvar.bat使其能識別Visual Studio 2010的命令行工具。方法類似Visual Studio 2005/2008,識別主要利用了VS100COMNTOOLS環境變量(見附件)。
7.打開src/jrd/gds.cpp,註釋掉一個與新版Platform SDK不兼容的頭文件包含:
// #include <shfolder.h>
8.打開src/jrd/mod_loader.cpp,查找文本"msvcr90.dll",在這一行下面插入兩行:
#elif _MSC_VER == 1600
                    "msvcr100.dll",
9.在builds\win32目錄下打開命令行窗口,依次執行以下三個批處理命令:
make_icu
make_boot
make_all
編譯產生的文件在output_Win32目錄下
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章