gpt4 book ai didi

c++ - CUDA 示例由于多个重新定义错误而未编译

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:14:01 34 4
gpt4 key购买 nike

我刚刚在带有 Xcode 7 的 OSX 10.11 上安装了 CUDA 工具包 7.5。带有 GeForce GT 750M 的 Macbook Pro

在编译(制作)示例时,我遇到了多个重定义错误。这是前两个:

actual console output (partial)

错误示例:

In file included from tmpxft_0000b964_00000000-19_asyncAPI.compute_20.cudafe1.stub.c:1: In file included from /var/folders/bm/fp5n2kzd419c4mbnsmyqf1cm0000gn/T/tmpxft_0000b964_00000000-19_asyncAPI.compute_20.cudafe1.stub.c:7: In file included from /Developer/NVIDIA/CUDA-7.5/bin/../include/crt/host_runtime.h:247: In file included from /Developer/NVIDIA/CUDA-7.5/bin/../include/common_functions.h:224: In file included from /Developer/NVIDIA/CUDA-7.5/bin/../include/math_functions.h:10219: In file included from /Developer/NVIDIA/CUDA-7.5/bin/../include/math_functions.hpp:1664: /usr/include/math.h:204:48: error: redefinition of 'inline_isfinitef' inline __attribute ((always_inline)) int inline_isfinitef(float __x) { ^ /usr/include/math.h:204:58: note: previous definition is here extern "C" { __attribute((__always_inline)) inline int __inline_isfinitef(float __x)

错误与 math.h 包含有关。有趣的是,一些示例如果手动编译(例如 deviceQuery 示例)会编译并运行。

我编写的自定义代码也因同样的错误而失败。在我的代码中,如果我注释掉“math.h”并包含错误是相同的。我确实包含了 NVIDIA 的 cutil_math.h

我已经尝试将 clang 版本降至 6.4,但没有任何区别。我也尝试了多个编译器标志但无济于事。

最佳答案

我提供了一个可以解决问题的解决方案,但可能会在未来引起问题。

错误显示包含的顺序一直到问题发生的地方。在这种情况下 7.5/bin/../include/math_functions.hpp:1664

在math_functions.hpp的第1664行注释掉#include "math.h"#include <cmath>在它下面。这将删除重新定义,您的项目将不再有此错误,并且示例将编译。

关于c++ - CUDA 示例由于多个重新定义错误而未编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36365745/

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