VS2017不会将其他包含目录复制到远程env(linux)导致编译错误
问题描述:
我在玩Visual-Studio 2017 C++跨平台项目(linux)。 我能够编译并运行一个可执行项目。VS2017不会将其他包含目录复制到远程env(linux)导致编译错误
现在我创建了两个C++项目。一个是静态库,另一个是动态库。动态库使用静态库中的一个类,所以我有一个包含类定义的相应头文件的#include语句。编译失败,说没有找到头文件。我将include目录添加到项目属性中的Additional Include Directories(通常与Windows vC++项目一起使用)。但是,它看起来像头文件没有复制到远程Linux env(WSL)。
我不想将包含文件添加到动态库项目,因为有附加包含目录被发明的原因。
有没有一种方法可以配置构建以将其他包含目录复制到远程环境?
答
通过附加包含目录引用的文件预计已经在Linux远程,VCLinux不会为您复制它们。说实话,你不会想要它,因为额外的包含通常是第三方包。
但是,如果您已经构建了静态库,那么它的源代码(包括头文件)将出现在Linux远程服务器上。通过项目设置指定Linux系统上静态库头和库的路径。
谢谢!说得通。将尝试一下。 –
我试着指定路径,但它不能很好地工作。以下链接非常精确地描述了这些问题,并提出了适用于我的解决方案:https://developercommunity.visualstudio.com/content/problem/40127/additional-include-folders-problems-for-linux-proj.html。有没有更好的办法? –
您链接的报告描述了很好地指定远程路径的问题。在VCLinux GitHub站点上有一个公开的问题:https://github.com/Microsoft/VSLinux/issues/68。该问题在当前的VS2017 15.4预览版2.0中未得到解决。看起来我们不得不忍受这一段时间。 – stanthomas