2009-06-12 225 views
8

我有幾個在Linux和OSX上用GNU工具鏈(automake,conf,flex,bison,gcc,...)開發的C免費軟件/開源庫,但我偶爾會得到提供Windows DLL的請求。我希望能夠在不必花費大量時間和金錢進行Windows Visual Studio開發的情況下提供這些功能。我確實有一個Windows XP虛擬機可用,我也知道這個軟件是可移植的,偶爾我會得到補丁,使它在Windows上構建。爲Windows開發人員構建開源庫DLL的最佳方式是什麼?

我應該使用什麼方法或工具?在Linux上交叉編譯?使用Visual Studio Express或其他東西?我更願意從SVN存儲庫完全自動化的東西。我不把cygwin作爲一個解決方案,因爲這似乎並不能提供Windows開發人員需要的東西,據我瞭解的問題 - 鏈接和DLL。

回答

4

你可以嘗試的MinGW與MSYS時,Visual Studio(快遞)與SUA (unix應用程序的子系統)或Cygwin編譯基於automake/autoconf的程序(./configure & & make to under linux)。

不幸的是,通常他們創建的lib文件與其他編譯器兼容,因此,如果你希望你的庫與正在使用的Visual Studio開發的應用程序的工作,那麼你應該使用的VSC++方法。通常很多GNU項目(檢查gnuwin32)居然有VC兼容構建腳本也比使用「NMAKE」編譯的

2

您可以使用MinGW或安裝Visual Studio Express的MSVC命令行工具。

其中之一可以由命令行腳本驅動。我想象一下,Linux的交叉編譯也行得通,但我不知道如何輕鬆(或痛苦)去實現。

這個簡短的文章顯示了一個Windows應用程序&的一個簡單的交叉編譯運行在Wine下該應用程序:

1

的Windows軟件開發工具包包括Microsoft的C/C++編譯器(命令行只是沒有可視化工具) ,所以你甚至不需要Visual C++ Express Edition。 Windows SDK可以從Microsoft免費下載。

1

如果您使用http://www.cmake.org/,cmake的可以創建Makefile文件(對於Unix)和項目文件(適用於Visual Studio)。這就是例如KDE項目正在使用的內容。

Visual Studio的編譯器可以從「devenv的/建造調試project.csproj」上cmake的生成的文件在Windows命令行啓動。但是,這需要安裝Windows(可能位於VM)並安裝了(免費)Visual Studio。

+0

正如我所提到的,我正在使用gnu工具鏈,包括automake/conf。我現在不打算切換到cmake。 – dajobe 2009-06-12 18:52:41

相關問題