程序在Visual Studio外部运行的方式不同

时间:2012-12-18 23:41:31

标签: c++ visual-studio-2010 opencv

我有一个绘制Mandelbrot和Julia集的程序,用OpenCV显示它们(在单独的窗口中),它在Visual Studio中正确运行,但是当我在Visual Studio外部运行.exe时,其中一个窗口无法正确缩放。

显示Mandelbrot集合的窗口正确绘制和缩放,另一个窗口使用完全相同的缩放方法(在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

什么可能导致这种奇怪的行为?

由于

1 个答案:

答案 0 :(得分:4)

在Visual Studio和外部Visual Studio中运行程序之间的区别是:

  1. 传递给程序的参数。

  2. 应用程序的工作目录。

  3. 环境变量,如果您在启动Visual Studio后更改它们(或者在使用此类启动器后启动启动器之后:例如:Explorer ++)