2011-06-19 5 views
3

Microsoftからいくつかの例が見つかりましたが、開始方法はわかりません。MinGWで資格プロバイダをコンパイルする

私はVSプロジェクトとレジストリエントリを持つファイルのように見えます。 makefileは含まれておらず、構築方法に関する指示もありません。

私はMinGWでG ++コンパイラを使用しようとしています。ユースケースは単純なhttp認証です。私はpam-http projectでこれをLinux上で動作させています。

  • シンプルクレデンシャルプロバイダのコンパイル方法を教えてください。
  • ビルドスクリプト/ makefileを提供するチュートリアルはありますか?

は、私は非常に可能な場合は、それゆえのMinGWとg ++ FOSSを使用することを好むだろう、と私は(私は数年前に仕事でVSを使用)、Windows上でコンパイルすると、ほとんど経験を持っています。最終的には私はcURLでリンクしたいと思っていますが、いったん構築されたら何かを得ることができます。

注:

私はこれらを見つけたが、私は、G ++を使用してビルドスクリプトを探しています:

私はkberson's sentimentsを共有しています。

EDIT:

私はMS VCとリンクと言うことはMinGWのウェブサイト上でthisを発見した可能性であるDLLを作成しました。

私はVisual Studioを使いたくありません。私は、ANTやmakeのような特定のビルドツールに縛られていないコマンドラインコンパイルツールを好むだろう。

+0

コーディングするAPI/DLLがC++の場合、G ++で動作する可能性はほとんどありません。 G ++とVCには共通のABIがありません。 – Mat

+0

@MatG @ MinGW/G ++を使うのに100%は必要ではありませんが、VCよりもむしろそれを使いたいです。私が絶対にVCを使用しなければならないなら、私はできます。 AFAIK、私は必要なDLLをコンパイルすることができます。 g ++でコンパイルされたDLLをVCでリンクできるかどうか知っていますか? – tjameson

+0

これはあまり注目されていないことに気付きました。質問を明確にするために私ができることはありますか?それとも誰もそれをやる方法を知らないという質問は珍しいですか? – tjameson

答えて

3

Visual Studio Express C++(およびG ++への移植)を使用すると、サンプルの資格情報プロバイダをコンパイルするのはかなり簡単になります。 Windowns SDK

MSVC++にはコマンドライン構築ツールが付属しています。したがって、custom credential provider for Windows 7をビルドするには、ファイルをディレクトリに展開します。

msbuild /p:Configuration=Release /p:Platform=Win32 

を参照してくださいWin32のコマンドプロンプトを開き、

cd CredentialProviders\SampleCredentialProvider 
msbuild 

を入力するか、リリース構成を構築するために、スタートメニューの(2010)をのVisual Studioコマンドプロンプトをショートカットを使用する - そして、MSVCをインストールします。 MSBuild (Visual C++) Overview,MSBuild Command Line ReferenceおよびBuilding on the Command Line

これらの資格プロバイダは、COMを使用して構築されています.COMはOLE2の一部です。これは、Microsoft Component Object Mode l。 MSVCを使用せずに相互運用可能なコンポーネントを構築するには、possibleですが、より多くの作業が必要です。だから私がMSVCを使って開発するのは、すべてのサンプルがうまく動作してから、問題が発生するためG ++に移植し、通常は作業システムから始めるほうが簡単だからですCOMバインディングの問題を解決します。

COMを理解するには、Technical foundation of COMを読むことをお勧めします。

+0

これは本当に役に立ちます。それは直接質問に答えるものではありませんが、間違いなく私はどこかに出発することができます。私は次のカップルの日に何か良いことがなければ、これに賞金を授与することを確かめます。 – tjameson

+0

あなたが質問をして以来、他の誰も助けてくれなかったので、私はそれが直接答えていなくてもあなたを解決に役立つ道だと考えました。また、MSVCサポートを使用せずに相互運用可能なCOMコンポーネントを構築するのはかなり難しいです。私はFOSSを信じていますが、この場合は余分な作業が重要です。 –

+0

資格プロバイダは、私が構築しているソフトウェアパッケージのプラットフォーム依存の唯一の部分です。可能であれば、同じコンパイラ(g ++)を使用したいと思います。 Windowsのサポートは、互換性のためだけです... – tjameson

関連する問題