0

当我尝试在调试 64 位配置中使用 VS 2010 在 64 位 Windows 7 上构建我的项目时,我收到此错误以及其他两个错误。

error: linkage specification is incompatible with previous "hypot" in math.h line 161
error: linkage specification is incompatible with previous "hypotf" in math.h line 161
error: function "abs(long long)" has already been defined in math_functions.h line 534

我在 32 位版本中没有收到这些错误。此外,64 位版本在 VS2008 中工作。这个问题是否有适当的解决方法,还是我应该等到 nvcc 支持 VS 2010 编译器?

4

1 回答 1

1

有一些尝试通过 CUDA(链接文本)获得 VS 2010 支持,但我看到的对 VS 2010 的唯一官方支持是在 Parallel Nsight 1.5 中,它目前作为 NVIDIA 网站的候选发布版本提供。从一些注释来看,奇怪的是,它似乎仍然需要 Visual Studio 2008 编译器才能运行,只需使用正确更新的 cuda.targets、cuda.xml 等文件。

同时要检查的一件事是您要链接到的 lib 文件,您是在链接到 32 位文件还是 64 位文件?这可能是您问题的根源。

于 2010-09-17T18:38:33.340 回答