-3

如果我的代码使用智能指针,则导航和完成不适用于 SourceInsight。例如,这个简单的示例代码:

class test {
public:
    void fun(){}
};

int main() {
    boost::scoped_ptr<test> a;
    a->fun();
    return 0;
}

当我单击fun()main,SourceInsight 告诉我“未找到符号”

我应该做些什么来解决这个问题,还是 SourceInsight 有限制?

4

1 回答 1

2

所以我试了一下。下载,病毒扫描,注册免费试用,安装wine,运行!

现在,我可以让 SourceInsight 从 Boost 目录中导入符号:在此处输入图像描述

然后我输入 Boost 目录的路径:Z:\home\sehe\custom\boost\ 在此处输入图像描述

处理需要一两分钟:

在此处输入图像描述

似乎还可以:

在此处输入图像描述


现在,如果您在项目中导入这些符号:

在此处输入图像描述

发现你可以导航到boost::scoped_ptr<>就好了(我双击a了声明中的a):

在此处输入图像描述

但它不会找到对以下内容的引用fun

在此处输入图像描述

仅查找声明:

在此处输入图像描述

当然,您可以使用简单的字符串搜索,但这不是重点。

这是 HTML 导出:https ://s3.amazonaws.com/stackoverflow-sehe/f14b4ee2-9b4d-49cd-893d-cf69372dd586/HTML/test.cpp.html

在此处输入图像描述

结论

这似乎是 SourceInsight 的限制,而不是由于配置错误。

于 2017-11-12T15:14:58.550 回答