c++ - 在 Visual Studio 之外运行的程​​序的行为有所不同

标签 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

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

谢谢

最佳答案

在 Visual Studio 内和在 Visual Studio 外部运行程序的区别是:

  1. 传递给程序的参数。

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

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

关于c++ - 在 Visual Studio 之外运行的程​​序的行为有所不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13943326/

相关文章:

c++ - 如何使用 vector 的 emplace_back 函数?

c++ - 多线程 C++ Qt 应用程序仅在 VS 调试器中出现奇怪的运行时错误

python - 缩放并保存图像(AttributeError : 'NoneType' object has no attribute 'shape' )

matlab - 相机标定的疑惑

c++ - 在opencv中找到轮廓/对象之间的距离

c++ - 深度复制具有自引用指针的类

c++ - QDbus:服务调用返回 QList<int>

javascript - VS2010 : javascript intellisense : specifying properties for 'options' objects passed to methods

c++ - 如何添加 x 以关闭 CPropertySheet 上的页面?

visual-studio-2010 - 当我打开解决方案时,是否可以从 SVN 更新 Visual Studio?