1
我在Visual Studio中创建了一个Cuda 5项目(VC++),我想使用boost chrono API。当我包括boost/chrono.hpp
,我有以下错误:Cuda生成的VC++解决方案(错误C2675)升压错误
Error 89 error C2675: unary '-' : 'T' does not define this operator or a conversion to a
type acceptable to the predefined operator D:\StandaloneApp\Library\Vc\boost_1_52_0\boost\ratio\detail\mpl\abs.hpp
68 1 ThrustCompareSoaAndAos
的代码块周围68行:
#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC_2)
namespace aux {
template< typename T, T n > struct abs_wknd
{
BOOST_STATIC_CONSTANT(T, value = (n < 0 ? -n : n));
typedef integral_c<T,value> type; // line 68
};
}
#endif
是什么原因导致这个错误?
你可以在第68行发布代码吗? –
是否包含在.cu文件中? – alrikai
@alrikai:[这不是我的问题,但我有同样的问题。]是的,这发生在使用nvcc编译.cu时。相同的代码在Linux上编译得很好。 – shinjin