2017-01-20 14 views
1

私はゲームパッドクラスにDirectXTKライブラリを使用しています。私はこのクラスだけでライブラリをコンパイルし、それが動作します。CoInitializeが呼び出されていません - (ライブラリなしでDirectXTKからgamepad.hをロードしています)

ソースファイルをプロジェクトに追加する場合は、ライブラリがなくても、サイズは〜500KBではなく〜50KBになります。ただし、次のエラーが表示されます。

CoInitialize has not been called 

この問題を解決する方法については、私の実行可能ファイルのサイズは小さくなりますか?

+0

答えではないので、私はコメントとして「サイズは問題ではありません」と言います。ヨーダだけでなく、私たちの開発者にとっても。 50Kまたは500K?誰も気にしません。 – nvoigt

答えて

2

よく、mainの最初のものとしてCoInitializeとすることができます。

int main() 
{ 
    CoInitialize(NULL); 

    // your code 

    return 0; 
} 
+0

こんにちは、ありがとうございます。私はそれをして、プロジェクトがコンパイルされます。しかし、ゲームパッドは検出されませんが、ライブラリを持つプロジェクトはそれを検出します。 – Z0q

+0

@ Z0qライブラリはおそらくこの初期化以上のことを行います。あなたは図書館の出所を見て確認できますか?例えば、 'CoInitialize'への呼び出しがどこかで発生していなければなりません。もしあなたがソースを見つけることができれば、それ以外のものが見つかるかもしれません。 – nvoigt

+0

この関数は、ライブラリのソースで呼び出されません。しかし、ソースファイルの1つに「//注:アプリケーションが既にCoInitializeExを呼び出していると仮定している」というメモが1つあります。 – Z0q

関連する問題