OCCT工程中,出现“LNK2001无法解析的外部符号/命令”的可能解决方案

首先建议根据Error LNK2001 无法解析的外部符号 的几种情况及解决办法https://blog.csdn.net/shenyulv/article/details/6699836进行问题排查

如果仍未解决问题,可参考以下解决思路:

当前项目可能存在lib文件引用错误问题,可尝试以下解决方案:
1.检查lib文件引用是否正确;  配置项:右键-属性-配置属性-链接器-输入-“附加依赖项”,此处设置需要的lib文件(见附录)
2.检查lib文件引用路径是否正确;配置项:右键-属性-配置属性-链接器-常规-“附加库目录”,此处设置lib文件所在路径

附录1:(要引用的LIB文件)
TKernel.lib
TKMath.lib
TKMeshVS.lib
TKMesh.lib
TKShHealing.lib
TKNIS.lib
TKOpenGL.lib
TKService.lib
TKV3d.lib
TKVoxel.lib
TKBRep.lib
TKG2d.lib
TKG3d.lib
TKGeomBase.lib
TKBO.lib
TKBool.lib
TKTopAlgo.lib
TKFillet.lib
TKOffset.lib
TKFeat.lib
TKGeomAlgo.lib
TKPrim.lib
TKXSBase.lib
TKIGES.lib
TKStl.lib
TKVrml.lib
PTKernel.lib
TKXSDRAW.lib

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用OCCT来解析DWG文件,你可以按照以下步骤进行编码: 1. 首先,确保你已经安装了OCCT库,并且在你的项目引入了OCCT的头文件。 2. 创建一个新的OCCT应用程序,并初始化OpenCASCADE环境。这可以通过调用`Standard_Real::SetPrecision(1e-6);`和 `Standard_ErrorHandler::SetDefaultHandler();`来完成。 3. 加载DWG文件并创建一个DWG Reader对象。你可以使用`IFSelect_ReturnStatus`枚举值来检查DWG文件是否成功加载。例如: ```cpp Handle(IFSelect_WorkSession) ws = new IFSelect_WorkSession(); IFSelect_ReturnStatus status = ws->NewModel(); IFSelect_ReturnStatus loadStatus = ws->ReadFile("path/to/your/file.dwg"); if (loadStatus != IFSelect_RetDone) { // 文件加载失败 return; } ``` 4. 使用OCCT的工具和方法来解析DWG文件,获取点或边的集合数组对象。这可能需要使用OCCT的几何和拓扑算法来处理DWG模型。以下是一个简单的示例代码,用于获取模型所有顶点的坐标: ```cpp BRep_Builder builder; TopoDS_Shape shape; TopExp_Explorer explorer; // 将DWG模型转换为OpenCASCADE模型 TopoDS_Compound compound; builder.MakeCompound(compound); explorer.Init(shape, TopAbs_VERTEX); while (explorer.More()) { TopoDS_Vertex vertex = TopoDS::Vertex(explorer.Current()); gp_Pnt point = BRep_Tool::Pnt(vertex); // 在这里,你可以使用 point.X(), point.Y(), point.Z() 来获取顶点的坐标 explorer.Next(); } ``` 这只是一个简单的示例,你可以根据你的需求使用OCCT的其他功能来解析DWG文件。 5. 最后,记得在程序结束时清理OCCT环境。你可以调用 `Standard::Clear()` 来完成清理。 希望这些步骤对你有帮助!如果你有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值