我有一个程序可以绘制 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
什么可能导致这种奇怪的行为?
谢谢
最佳答案
在 Visual Studio 内和在 Visual Studio 外部运行程序的区别是:
传递给程序的参数。
应用程序的工作目录。
环境变量(如果您在启动 Visual Studio 后更改了环境变量)(或者在启动启动器后(如果您使用此类启动器:例如:Explorer++),则更改了环境变量
关于c++ - 在 Visual Studio 之外运行的程序的行为有所不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13943326/