使用visual studio跨平台远程调试cmake项目时,使用#include "包"
时,有时候会出现编译通过但是自动补全不管用的情况,引用的头文件和函数都是红线,提示找不到库文件。
这种情况主要是因为 IntelliSense无法在远程映射的本地目录(缓存目录,不是当前项目中的第三方库include文件夹下)找到需要导入的包,需要手动更新一下:
- 打开 CMakeSettings.json-显示高级设置-在要复制到本地的远程包含目录中添加远程的include目录,以英文分号分隔。例如
/home/my/.vs/project/83725516-acc3-432***/src/thirdparty/libtorch/include/
,然后保存。
2.打开vs 工具-选项-跨平台-链接管理器-远程标头IntelliSense管理器,点击更新-确定。
3.在CMakeLists.txt
中include_directories
(手动引用)或者target_link_libraries
(第三方cmake自动引用),保存就可以正常显示IntelliSense的智能提示了。