我尝试使用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后,一切正常......谢谢大家的帮助。
答案 0 :(得分:0)
问题可能是由于用于编译程序的C ++运行时库与用于编译Halide库的C ++运行时库不匹配。尝试将项目设置中的C ++运行时库设置更改为“DLL”版本。