3

C++-Protobuf は VS2012 でコンパイルされません。ここで、MinGW を使用して Windows でコンパイルしたいと考えています。Win7 x64 で protobuf をコンパイルする方法について、簡単な見出しを教えてください。GUIインストーラーでMinGWを既にインストールしました。Google は MinGW セットアップ通知として、Unix インストール ノートを参照する必要があると書いています。しかし、Windowsで自動ツールを使用する方法がわかりません。

編集

さて、これは私が今までやってきたことです:

$ mount C:/ WinDir
$ cd ./[...]/protobuf.2.4.1
$ ./configure
$ minGW32-make.exe
$ minGW32-make.exe check

minGW32-make.exe はエラーなしで実行されますが、テストは実行されておらず、libprotobuf.lib が見つかりません。libprotobuf.dll がいくつかありますが、lib が必要ですよね。

4

3 に答える 3

2

MinGW のインストールと一緒に MSys コンソールが必要です。このコンソールは、autotools を通常どおり使用できる Linux ライクな環境を提供します。

MSys がインストールされていない場合は、MinGW サイトから入手することもできます。

cdソースのあるディレクトリに移動し、通常のことを試してください:

$ ./configure
$ make

一部のライブラリは Windows で問題を引き起こしますが、ほとんどのライブラリは MinGW と MSys で適切にコンパイルされます。特定の問題が発生した場合は、質問に戻って情報を追加してください。


編集:

minGW32-make.exe はエラーなしで実行されますが、テストは実行されておらず、libprotobuf.lib が見つかりません。libprotobuf.dll がいくつかありますが、lib が必要ですよね。

通常、動的ライブラリの場合は、protobuf.dll(動的ライブラリ) とlibprotobuf.a(静的ラッパー ライブラリ) を取得します。

-lprotobufリンクするときは、リンカーに渡すだけで、libprotobuf.aとの両方が検索されprotobuf.libます。

(.libは別の静的ライブラリ形式であり、MinGW によって部分的に処理されますが、ここではネイティブではありません。)

于 2012-11-29T10:32:52.703 に答える
1

.libMinGW ツールチェーンを使用する場合、ファイルを操作しません。代わりに、dll に直接リンクできます。MinGW Wiki がこれを説明しています。

于 2012-11-29T11:36:36.240 に答える