以前写过一些(理解还不太够),主要对法1的具体操作进行更新,
代码跳转的本质:找到这个文件
- 找到所有OpenFOAM中(编译后)的
lnInclude
所在路径
find . -name "lnInclude" > tttt.findlnInclude
将OpenFOAM所有的lnInclude
都找到。将所有的lnInclude
链接都加在includePath中(仅仅加上Make/options下链接到的库还不够,代码中还是有不能跳转的地方)。
VScode: ctrl + shift + P
, 搜索C++。
同理,代码不用编译都可以跳转,在windows下一样的。只要找到合适的lnInclude路径。
linux下OpenFOAM7的
lnInclude
。/home/tttt/OpenFOAM
前面替换一下即可。一个例子:
#include <typeinfo>
是标准库中的头文件,要跳转这个,可以加上C++编译器的includePath,方法如下:
gcc -E -v -
查看这个命令打印信息中的这些:
1 | /usr/lib/gcc/x86_64-linux-gnu/11/include |
将这些粘贴到includePatch中(注意修改前缀)
1 | /home/tttt/OpenFOAM/OpenFOAM-7/src/regionModels/thermalBaffleModels/lnInclude/** |
Windows下(没编没有lnInclde,链到上一个路径也可以,注意windows和linux的文件分隔符),这个是没有编译,在windows中直接解压从GitHub下载的OpenFOAM包。
1 | D:\02_DevProject\00_OpenFOAM\OpenFOAM-7-master\src\regionModels\thermalBaffleModels\** |
设置后的效果:
类似的可以对Eigen进行同种操作
- Eigen代码跳转
设置: 1
/Users/tongyanjun/tttt_file/zz_lib_tttt/eigen-3.4.0/**
测试代码: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//这里eigen库可以成功跳转了
using Eigen::MatrixXd;
int main()
{
MatrixXd m(2,2);
m(0,0) = 3;
m(1,0) = 2.5;
m(0,1) = -1;
m(1,1) = m(1,0) + m(0,1);
std::cout << m << std::endl;
}