2009-06-12 7 views
8

GNU toolchain(automake、conf、flex、bison、gcc、...)を使ってLinuxやOSX上で開発したCフリーソフトウェア/オープンソースライブラリがいくつかありますが、Windows DLLを提供する要求を得ることがあります。 Windows Visual Studioの開発に多くの時間と費用を費やすことなく、それらを提供できるようにしたいと思います。私は利用可能なWindows XP仮想マシンを持っています。また、ソフトウェアが移植性があることもわかります。時にはWindows上にビルドするためのパッチが付いてくることがあります。Windows開発者が使用するオープンソースライブラリDLLを構築する最善の方法は何ですか?

どのアプローチやツールを使用する必要がありますか? Linuxでクロスコンパイル? Visual Studio Expressなどを使用していますか? SVNリポジトリから完全に自動化されたものが好きです。 Cygwinをソリューションとして数えていないのは、Windows開発者が必要とするものを提供していないようだからです。

答えて

4

あなたはMSYS、SUAでのVisual Studio(エクスプレス)でMingwを試すことができます(Unixアプリケーションのサブシステム)またはCygwinがautomake/autoconfベースのプログラムをコンパイルする(./configure & & make make to linux)ことができます。

残念ながら、作成するlibファイルは他のコンパイラと互換性がないため、Visual Studioを使用して開発されたアプリケーションでライブラリを使用する場合は、VSC++のアプローチを使用する必要があります。通常、多くのGNUプロジェクト(チェックgnuwin32)は実際には "nmake"を使用してコンパイルできるものよりもVC互換のビルドスクリプトを持っています

2

MinGWを使用するか、Visual Studio ExpressのMSVCコマンドラインツールをインストールします。

いずれもコマンドラインスクリプトで駆動できます。

私はLinuxからのクロスコンパイルもうまくいくと思っていますが、どのように簡単になるか分かりません。

この短い記事では、ワインの下で、そのアプリケーションを実行しているWindowsアプリケーション&のシンプルなクロスコンパイルを示しています

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のコンパイラは、Windowsコマンドラインから、cmake生成ファイルの 'devenv/build debug project.csproj'を使用して起動できます。しかしこれには、Visual StudioがインストールされているWindowsが必要です(おそらくVM内)。

+0

私が言及したように、私はautomake/confを含むgnuツールチェーンを使用しています。私はこの時点でcmakeに切り替えるつもりはない。 – dajobe

関連する問題