weixin_52536621 2023-03-25 09:11 采纳率: 0%
浏览 32

关于windows下 VScode clangd无法补全c++ GCC编译器中__builtin_popcount这类函数

问题遇到的现象和发生背景

clangd无法补全c++ GCC内置函数 __builtin_popcount 这类

操作环境、软件版本等信息

windows10
直接在windows下安装,没有虚拟机和ubuntu等
编译器来自https://winlibs.com/
clangd来自https://github.com/clangd/clangd/releases
使用c++写代码

尝试过的解决方法

使用过添加这些参数在设置中

"clangd.arguments": [
    "--gcc-toolchain=D:/mingw64",
    "-target", "x86_64-pc-windows-gnu",
    "-isystem", "D:/mingw64/lib/gcc/x86_64-w64-mingw32/12.2.0/include",
    "-isystem", "D:/mingw64/x86_64-w64-mingw32/include",
    "--background-index",
    "--header-insertion=never",
    "--suggest-missing-includes",
    "--completion-style=detailed",
    "--cross-file-rename",
    "--fallback-style=Microsoft",
    "--suggest-missing-includes",
    "--suggest-missing-methods"
]
全部没有用
我想要达到的结果

使得clangd能够补全微软插件c/c++能补全的所有函数,因为c/c++可以补全__builtin_popcount这类函数

  • 写回答

2条回答 默认 最新

  • IT_service_mesh 2023-03-25 09:27
    关注

    参考GPT和自己的思路:针对你的问题,可以尝试以下几个解决方法:

    1. 检查GCC编译器版本是否支持__builtin_popcount函数。在使用GCC编译器时,__builtin_popcount 是存在的,并且完全没有问题的。请确保你使用的编译器版本不低于GCC 5.0。

    2. 确认在VScode中的include路径是否正确。如果include路径不正确,那么补全时就无法找到__builtin_popcount这个函数,你应该在设置中添加正确的include路径。

    3. 确认在VScode中的c++标准是否正确。在VScode的设置中,检查c++标准是否设置为正确的版本。请设置为c++11/c++14/c++17/c++20这些标准之一。

    希望以上方法能够解决你的问题。如果还不行,那就需要另外寻找或尝试其他解决方法了。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月25日