VC++プロジェクトでlibpngのようなオープンソースライブラリをいくつか使用しようとしています。私はLinux環境で問題なく使ってきましたが、VC++環境で動作させる方法についてはわかりません。ここに私が試したものです:VCとMinGWを使って作業する
私はSF(私もインストールところで、同じようにzlibは)からのWin32パッケージのためのlibpngをインストールしました。私はProgram Files \ GnuWin32 \ includeのpng.hを見ることができますが、インクルードするとコンパイラはunistd.hが必要だと言います。私はこれがPOSIXシステムコールのヘッダであることを知っていますので、Windowsはそれを持っていません。
私はCygwinをインストールしたのですが、後でそれgccを使用してWindows上でLinuxのソースコードをビルドするための唯一の良いことだ実現し、代わりにMS VC使用しての(または私は間違っているの?)
を私はMinGWのをインストールし、それはMinGWのようですgccも使用するように設計されています(または間違っていますか?)。 MinGWにはunistd.hが付属していますが、このヘッダはMinGWのsys/types.hをlinuxから参照しています。MSVCには独自のsys/types.hがありますので、コンパイラはどちらを使うべきか分かりません。 2つのファイルは異なるものを定義し、どちらも両方をカバーすることはできないため、いずれかを含めて、プロジェクト全体をコンパイルするには不十分です。
これまでのところ、かなり愚かな#include問題のように思えるが、私は正しい方法を理解できない。私は本当に十字架からの騒ぎです。多分私は最初から間違った道を行くでしょう...
どうすればいいですか? VC++でのLinuxライブラリの標準的な使用方法は?
ところで、MinGWまたはCygwinを使ってgccをビルドしてWindows実行ファイルを生成することは可能ですが、私は既存のコードベースのためにVC++でビルドすることができます。何か助けてくれてありがとう!
おかげVCプロジェクトからのlibsとそれらとのリンクを受け取ります。私はこれが実行可能な解決策だと確信していますが、私が使用する各オープンソースのlibsに対して特定のWin32ビルドを探すのは面倒です。なぜ自分自身をソースコードから構築できないのですか?それはオープンソースの要点ではありませんか?私はもっと一般的な解決策が必要であると確信しています... – fang
典型的なオープンソースライブラリは、自動設定生成ツールを使用してMS VCをサポートしていないので、VC設定とヘッダファイルを生成する必要があります。行う。 – 9dan
ええ、オープンソースコミュニティーでは、VCについて気にする人はほとんどいません。以前は、ほとんどのオープンソースプロジェクトがプラットフォームに依存しないと思っていましたが、そうではありませんでした。 – fang