gpt4 book ai didi

c++ - nvcc 和 BOOST 库的编译错误

转载 作者:行者123 更新时间:2023-11-28 03:43:00 26 4
gpt4 key购买 nike

nvcc 抛出

/usr/include/boost/concept/detail/has_constraints.hpp:29: error: ‘&’ cannot appear in a constant-expression
/usr/include/boost/concept/detail/has_constraints.hpp:29: error: template argument 2 is invalid

has_constraints.hpp 中已经有一些可疑代码:

#if BOOST_WORKAROUND(__SUNPRO_CC, <= 0x580)
// Work around the following bogus error in Sun Studio 11, by
// turning off the has_constraints function entirely:
// Error: complex expression not allowed in dependent template
// argument expression
inline no has_constraints_(...);
#else
template <class Model>
inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
inline no has_constraints_(...);
#endif

问题:这是 nvcc - boost 不兼容,还是我的代码有问题?

最佳答案

为什么在“Model::constraints”之前有“&”?我认为这就是问题所在。 (//显然不是)

编辑:

http://forums.nvidia.com/index.php?showtopic=182890讨论这个问题并解决一些问题

http://forums.nvidia.com/index.php?showtopic=150025

编辑2:

好吧,在绕过这个问题一段时间后,这就是我坚持的:

http://forums.nvidia.com/index.php?showtopic=215470 “boost 和 nvcc 存在一个已知的兼容性问题。解决方法是拆分源代码,以便使用 nvcc 编译 cuda 代码,使用主机编译器编译 boost 代码。”作者:Justin Luitjens 在组中:NVIDIA 员工

试一试,如果不能使它工作,单独编译,然后链接它们。

关于c++ - nvcc 和 BOOST 库的编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8536683/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com