【问题标题】:Visual Studio Code unable to compile cpp and Cuda (cu) files togetherVisual Studio Code 无法同时编译 cpp 和 Cuda (cu) 文件
【发布时间】:2021-12-19 02:20:51
【问题描述】:

我在 VS 代码中有多个 cpp 文件的 c++ 程序。最近我学习了一些 CUDA 编程,并尝试在这个程序中添加一个 cuda 功能。但是,nvcc 编译器失败。如果我尝试将 cu 文件重命名为 cpp,则会出现错误:

expected primary-expression before ‘)’ token
    cuda_hello<<<1, 1>>>();

我知道这是因为 nvcc 然后忽略了该文件具有 cuda 代码。那么有没有办法我可以分别编译 cpp 和 cu 文件,然后在 VS 代码本身中组合它们或其他一些解决方案,也许通过更改 tasks.json 文件。

【问题讨论】:

  • 您可能希望为此使用 CMake 和 VSCode。
  • @RobertCrovella,是的,他们打开了。然而,这些是使用 makefile 编译的。我不太擅长制作 Makefile,这就是为什么我想知道是否可以找到基于 VS 代码的解决方案
  • @drescherjm:你能详细说明一下吗?也许是教程的链接或其他内容?

标签: c++ visual-studio-code cuda


【解决方案1】:

我能够解决这个问题。确保您的 nvcc 是最新的 (v 11) 并更新 tasks.json 参数,如下所示:

"args": [
                "-std=c++17",
                "*.cu",
                "*.cpp",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],

确保 CUDA 代码以 *.cu 格式显示。

【讨论】:

  • 请记得过几天再来接受你的回答
猜你喜欢
  • 2023-03-23
  • 2020-08-23
  • 1970-01-01
  • 1970-01-01
  • 2015-07-11
  • 2021-06-14
  • 2013-02-18
  • 2012-08-30
  • 2020-12-22
相关资源
最近更新 更多