2

マンデルブロ集合とジュリア集合を描画し、OpenCV(別々のウィンドウで)で表示するプログラムがあります。これはVisual Studio内で正しく実行されますが、Visual Studioの外で.exeを実行すると、ウィンドウの1つが正しくズームされません。

マンデルブロ集合を表示しているウィンドウは正しく描画およびズームしますが、まったく同じズーム方法を使用している他のウィンドウ(Visual Studio内で実行している場合に機能します)は機能しません

case CV_EVENT_LBUTTONDOWN:
    zx_point += x*zinc;
    zy_point -= y*zinc;
    zinc *= zoom_safe;
    zx_point -= x*zinc;
    zy_point += y*zinc;
    Draw(ptr_kernel, ptr_queue, ptr_image, ptr_context);
break;

どこをクリックしてもウィンドウが左上隅にズームインするため、「zx_point」と「 」が書き込まれていないようです。zy_point

つまり、Visual Studio内でのデバッグ/リリース作業は、外部でも同じ奇妙な動作をします。dllは、.exeと同じフォルダーにあり、出力ウィンドウには、VS2010にロードされている同じdllが表示されます。

何がそのような奇妙な行動を引き起こす可能性がありますか?

ありがとう

4

1 に答える 1

4

VisualStudio内とVisualStudio外でプログラムを実行する場合の違いは次のとおりです。

  1. プログラムに渡される引数。

  2. アプリケーションの作業ディレクトリ。

  3. Visual Studioの起動後に環境変数を変更した場合(または、ランチャーを使用した場合はランチャーを起動した後:例:Explorer ++)

于 2013-01-11T19:34:29.887 に答える