VS2017 不会将附加包含目录复制到远程环境(linux)导致编译错误
Posted
技术标签:
【中文标题】VS2017 不会将附加包含目录复制到远程环境(linux)导致编译错误【英文标题】:VS2017 doesn't copy Additional Include Directories to remote env (linux) causing compilation error 【发布时间】:2017-09-14 13:04:44 【问题描述】:我正在使用 Visual-Studio 2017 c++ 跨平台项目 (linux)。 我能够编译并运行单个可执行项目。
现在我已经创建了两个 c++ 项目。一个是静态库,另一个是动态库。动态库使用静态库中的类,因此我有一个#include 语句用于包含类定义的相应头文件。编译失败,说找不到头文件。我将包含目录添加到项目属性中的附加包含目录(通常适用于 windows vc++ 项目)。但是,看起来头文件没有复制到远程 linux env (WSL)。
我不想将包含文件添加到动态库项目中,因为发明附加包含目录是有原因的。
有没有办法配置构建以将附加包含目录复制到远程环境?
【问题讨论】:
【参考方案1】:通过附加包含目录引用的文件应该已经在 Linux 远程,VCLinux 不会为您复制它们。而且,老实说,您不会想要它,因为额外的包含通常是第三方包。
但是,如果您已经构建了静态库,那么它的源代码(包括标头)将出现在 Linux 遥控器上。通过项目设置指定Linux系统上静态库头和库的路径。
【讨论】:
谢谢!说得通。会试试看。 我尝试指定路径,但效果不佳。以下链接非常准确地描述了这些问题,并且建议的解决方案对我有用:developercommunity.visualstudio.com/content/problem/40127/…。有没有更好的办法? 您链接的报告很好地描述了指定远程路径的问题。 VCLinux GitHub 站点上有一个关于它的未解决问题:github.com/Microsoft/VSLinux/issues/68。当前的 VS2017 15.4 预览版 2.0 中未解决该问题。看来我们必须再忍受一段时间了。以上是关于VS2017 不会将附加包含目录复制到远程环境(linux)导致编译错误的主要内容,如果未能解决你的问题,请参考以下文章
VS2017+QT开发COM组件: 本地与远程附加到进程调试DLL