c++ 为什么VS Code Cpptools的GCC问题匹配器不能匹配链接器错误,我如何才能做到这一点?

hfyxw5xn  于 2023-04-01  发布在  其他
关注(0)|答案(1)|浏览(116)

大多数错误都是正常报告的,但有些错误不是:
例如,未定义的对`Next(int*,std::string&)'的引用
“Next”的declear缺少一个“const”。

void Next(int next[], string &t); 
...
void Next(int next[], const string &T)
{
    next[0] = 0;
    next[1] = 0;
    int plen = T.size();
    for (int i = 1; i < plen; ++i)
    {
        int j = next[i];
        while (j && T[i] != T[j])
            j = next[j];
        if (T[i] == T[j])
            next[i + 1] = j + 1;
        else
            next[i + 1] = 0;
    }
}
...

terminalproblems
这里是我的VS Code JSON文件:
x一个一个一个一个x一个一个二个x
如何解决此问题?
我试过其他的IDE,如VS或Devc++。他们可以正常显示问题。

m528fe3b

m528fe3b1#

我相信它只是在GCC问题匹配器的当前实现中不支持匹配链接器错误。请参阅Add detection of linker errors to gcc problem matcher #10383,它目前因“需要更多投票”而关闭。您可以通过给它一个竖起大拇指的React来帮助它重新开放。
出于您的参考/学习目的,我通过谷歌搜索“github vscode-cpptools issues linker error problem“找到了上述问题票。
与此同时,您可以通过将自己的问题匹配器添加到problemMatcher数组字段来增强gcc问题匹配器。有关如何这样做的说明,请参阅https://code.visualstudio.com/docs/editor/tasks#_defining-a-problem-matcher。如果您想要一些灵感,您可以查看这个类似的问题单,其中有人增强了$msCompile

相关问题