gpt4 book ai didi

c++ - Visual Studio 2017 发布版本中的 Eigen cwisemin/cwisemax 访问冲突

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:44:00 25 4
gpt4 key购买 nike

下面是一些示例代码,在使用 Visual Studio 2017 的 x86 发布版本时会导致访问冲突:

#include <Eigen\Core>
#include <iostream>

int main()
{

Eigen::Vector3i a(1,1,1);
Eigen::Vector3i b(10, 10, 10);

std::cout << a.cwiseMin(b) << std::endl;

return 0;
}

x64 似乎没有崩溃,但结果中的第一个值是错误的。调试构建工作正常,所有使用 VS 15、MinGW 和 Linux gcc 的构建也是如此。

cwiseMax 具有相同的行为。这可能与 https://stackoverflow.com/questions/36928480/eigen-c-release-build-in-visual-studio 有关

有谁知道这个问题的解决方案吗?

最佳答案

我看到了相同的结果,除了 vs2015 x86 发布版本也给我第一个值的错误结果。我想出的 2 个选项是:

  1. 关闭优化。 属性->C/C++->优化
  2. 存储 a.cwiseMin(b) 的结果在第三个变量中:

    Eigen::Vector3i c(a.cwiseMin(b));
    std::cout << c << std::endl;

关于c++ - Visual Studio 2017 发布版本中的 Eigen cwisemin/cwisemax 访问冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42954418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com