0

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

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 后,一切正常...谢谢大家的帮助。

4

1 回答 1

0

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

于 2016-04-26T16:52:19.783 回答