Halide表达式:_pFirstBlock == pHead在简单程序

时间:2016-04-26 09:20:39

标签: c++ halide

我尝试使用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很有罪。在项目属性中的changig Platform Toolset到Visual Studio 2013后,一切正常......谢谢大家的帮助。

1 个答案:

答案 0 :(得分:0)

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