【发布时间】:2018-11-18 18:59:38
【问题描述】:
我想在 Windows 10 的 linux 子系统 (ubuntu) 中使用带有 vs2017 的 C++ 程序中的 C++ OpenCascade (OCE) 库。
我将 OCE 编译到 linux 子系统中;我在 Windows 中也有 OCE 编译的二进制文件。
当我尝试在我的代码 (#include <Adaptor2d_Curve2d.hxx>) 中包含来自 OCE 的标头时,我收到此错误:
error : Adaptor2d_Curve2d.hxx: No such file or directory
error : #include <Adaptor2d_Curve2d.hxx>
error : ^~~~~~~~~~~~~~~~~~~~~~~
error : compilation terminated.
我使用 $(ProjectDir) 或 $(RemoteRootDir) 路径在 additional include directories 的 vs 项目中添加了 OCE 包含路径。我检查了,路径是正确的。
我创建了一个 linux 控制台应用程序。 我的代码:
// from oce
#include <Adaptor2d_Curve2d.hxx>
int main()
{
printf("hello from CAO3DConverterTestApp!\n");
return 0;
}
我已将这些行添加到我的项目设置中的Additional Include Directories
$(ProjectDir)..\oce-0.18.3\include\oce
$(RemoteRootDir)..\oce\build\inc
那么在 Windows 10 的 linux 子系统中使用 vs2017 在 C++ 代码中添加外部库和头文件的过程是什么?
这是一个使用 Boost 依赖而不是 OCE 的最小项目
- 使用 ubuntu linux 子系统,使用 vs2017 构建一个 c++ linux 控制台应用程序。
在项目属性的
Additional Include Directories中包含提升标头路径将
#include <any.hpp>(来自 boost 的标头)添加到 main.cpp 文件中
-I 语句是正确的-I "C:\<myPath>\dependencies\boost_1_68_0\boost\",但我仍然有错误
error : any.hpp: No such file or directory
error : #include <any.hpp>
error : ^~~~~~~~~
error : compilation terminated.
我还应该做什么?
【问题讨论】:
-
您能否按照此处的要求在您的问题中提供 minimal reproducible example 自我。
-
对不起,如果不够清楚,我编辑了
标签: c++ visual-studio ubuntu windows-subsystem-for-linux opencascade