「opennurbs」我直接进行一个Opennurbs的手动编译

本文介绍如何在Visual Studio环境下成功编译并使用Opennurbs库,解决编译过程中的常见问题,并通过实例展示如何在C++程序中调用其几何运算功能。

OpennurbsRhion的一个开源几何库,用起来挺舒服的,虽然不带大部分几何运算功能(什么曲线相交、长度、曲面相交等等),但是用它做一些基本的几何数据存储和分发还是妥妥的足够了。

它是MIT License。妙啊。

Opennurbs 的下载地址是 https://github.com/mcneel/opennurbs

目前,笔者只成功地编译了它的静态库。

有经验的同学们如果在使用 Visual Studio 编译 Opernnubs 时遇到了 Freetype 2.6.3 相关问题, 具体表现为:

Error C2065 'AF_SCRIPT_CYRL': undeclared identifier	freetype263_staticlib	...\opennurbs\freetype263\src\autofit\afstyles.h	100	

那么问题很简单,仅需修改一个地方即可成功:

  1. freetype263_staticlib 项目的 External Dependencies(外部依赖项) 中找到 afscript.h 文件;
  2. 在该文件的第44行找到带 /* */ 的注释;
  3. 删掉该注释,或者在 */ 注释结束符号前加入一个空格即可。

这个bug是微软VC++编译器的锅,该编译器在遇到 “某些特定 Unicode 字符后紧跟 */ 多行注释结束符” 时,会出现无法正确识别注释结束符号的情况。

准备工作

  1. Visual Studio
    提笔写这篇文章的时候,VS2017以前的版本也挺难下载到了,好在2017、2019都能编译,这里就用2019,区别不大
  2. 下载好的opennurbs
    无论是git clone或者是直接打包下载源码,只要确保所有的文件能下载下来就行

笔者这里使用的是git,存放在E:\demo文件夹下。

GitClone

别的好像也没了,直接打开源码,找到 opennurbs_public.sln 这个VS解决方案文件,直接进行一个打开,进入熟悉的VS界面,准备开工。

尝试编译静态库…

我们可以看到一共有9个C++项目,其中6个是Example,也就是示例,我们并不关心它们。

SolutionExplorer

我们关心的是 opennurbs_public_staticlib 这个静态库项目。直接在该项目上点击右键,选择build编译。

WeChat Screenshot_20210617113731

成功了,nice。

WeChat Screenshot_20210617113914

妙啊!那现在我们就直接来试试用刚刚编译成功的静态库来创建自己的一个C++程序吧!

使用opennurbs创建自己的C++项目

再打开一个Visual Studio,创建一个C++的Console项目,放在与刚刚openurbs平级的文件夹下。

WeChat Screenshot_20210617114309

WeChat Screenshot_20210617114405

main函数里加入下面的测试代码,创建几个三维点,然后求它们之间的距离:

#include <iostream>
评论 20
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值