【问题标题】:Halide Expression: _pFirstBlock == pHead crash on simple program卤化物表达式:_ pFirstBlock == 简单程序上的头部崩溃
【发布时间】:2016-04-26 09:20:38
【问题描述】:

我尝试使用 Halide 创建简单的程序。使用第一个教程复制粘贴几行代码。然后遇到了一些问题

e = x + y;

线;

#include "stdafx.h"
#include "Halide.h"

int main()
{
    Halide::Func gradient;
    Halide::Var x, y;
    Halide::Expr e;
    e = x + y;
    return 0;

错误: 调试断言失败!

程序:D:\SVN\Inzynierka\Source\HDRView\x64\Debug\test.exe 文件:f:\dd\vctools\crt\crtw32\misc\dbgheap.c 线路:1424

表达式:_pFirstBlock == pHead

调用栈:

>   msvcr120d.dll!_free_dbg_nolock(void * pUserData, int nBlockUse) Line 1424   C++
    msvcr120d.dll!_free_dbg(void * pUserData, int nBlockUse) Line 1265  C++
    msvcr120d.dll!operator delete(void * pUserData) Line 54 C++
    Halide.dll!00007ffe3bfc2232()   Unknown
    Halide.dll!00007ffe3bfb7a8d()   Unknown
    Halide.dll!00007ffe3bfaae28()   Unknown
    Halide.dll!00007ffe3bfabe97()   Unknown
    Halide.dll!00007ffe3c29ea9a()   Unknown
    test.exe!Halide::Internal::Variable::make(Halide::Type type, std::basic_string<char,std::char_traits<char>,std::allocator<char> > name) Line 3738   C++
    test.exe!Halide::Var::operator Halide::Expr() Line 6269 C++
    test.exe!main() Line 12 C++
    [External Code] 

编辑:

我找到了解决问题的方法。 Visual Studio 2015 是有罪的。将项目属性中的平台工具集更改为 Visual Studio 2013 后,一切正常...谢谢大家的帮助。

【问题讨论】:

    标签: c++ halide


    【解决方案1】:

    问题可能是由于用于编译程序的 C++ 运行时库与用于编译 Halide 库的库不匹配所致。尝试将项目设置中的 C++ 运行时库设置更改为“DLL”版本。

    【讨论】:

    • 我尝试将项目 -> c/c++ -> 代码生成 -> 运行时库更改为我项目中的所有 4 个可能性,但它们都崩溃了
    猜你喜欢
    • 2012-08-12
    • 1970-01-01
    • 2017-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多