我想在 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.
additional include directories
我使用 $(ProjectDir) 或 $(RemoteRootDir) 路径在我的 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
在项目属性中包含 boost headers 路径将
#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.
我还应该做什么?