- 博客(142)
- 收藏
- 关注
原创 VS2022编译Geos库
使用的Release模式,与上述编译的Release模式的dll和lib相匹配。也可以使用Debug模式,并使用Debug模式编译的dll和lib。msbuild未配置未全局命令,所以只能局部使用。编译结果在build/bin/Release目录。符号库在build/lib/Release目录。添加附加库目录,即上述geos.lib所在目录。将geos.dll复制到exe所在目录。添加附加依赖项:geos.lib。geos.dll是c++ API。geos_c.dll是c API。
2026-06-03 13:14:31
164
原创 Windows编译shapelib为dll并引入到项目
在Windows环境下,使用CMake和VS2022,将开源库shapelib源码编译为dll,并在示例项目中引用该dll使用。VS2022下载安装略。
2026-05-28 17:13:31
241
原创 【Qt学习】Linux(ARM架构)在线安装Qt6.x
本机环境:CPU:HUAWEI Kirin9000C,属于ARM64架构。系统:银河麒麟桌面操作系统V10(SP1)
2026-05-26 16:28:19
75
原创 【Qt学习】程序的打包和发布
原理是把exe和dll压缩打包为一个安装exe,当这个安装exe被运行时会将相关文件解压到指定目录,以及可能配置相关注册表。为了让exe在其他没有Qt环境的电脑上也能运行,需要发布一个带有Qt的dll的exe。这种方式不是只添加程序真正需要的Qt的dll,而是拷贝了整个Qt的dll。将exe拷贝到一个新的文件夹。如果有资源qrc文件也需要拷贝。然后整个目录可以作为绿色免安装版发到其他电脑上运行。打包工具有:NIS Edit、Inno Setup。快速安装完成后,打开该工具。,双击启动进行安装。
2026-05-26 09:57:34
197
原创 【Qt学习】信号槽
信号槽实际就是观察者模式(发布-订阅)。事件的捕捉和信号的发射都是由Qt框架内部实现的。下面试验这个逻辑:女朋友饿了,发出信号,我收到信号,我去做饭。其中public后面的slots在qt5版本及以后可以省略。但是留着能更清除看出是槽函数用途。
2026-05-22 09:23:26
188
原创 【Qt学习】基本类型、日志输出、字符串、QVariant
/自定义一个类型int id;//使用宏将该类型变成QVariant可以识别的类型//创建Person对象Person p;p.id = 100;#if0//方式1QVariant v;#else//方式2#endif//去除v中的数据//创建Person对象 Person p;# if 0 //方式1 QVariant v;# else //方式2 QVariant v = QVariant :: fromValue(p);
2026-05-21 10:40:45
370
原创 【Qt学习】三个窗口类、坐标系、内存回收
模态”(Modal)这个词来源于拉丁语 modus(意为“模式、方式”),在界面设计和编程里,核心意思就是“独占交互、阻断其他操作”。此时TestWidget内嵌入了MainWindow中,不是一个独立窗口。此时TestWidget是作为一个独立的窗口出现,需要主动show。左上为原点,向右为X轴正方向,向下为Y轴正方向。菜单栏和状态栏只能有一个,工具栏可以有多个。子窗口的基点坐标是相对父窗口的坐标系。父窗口显示时,子窗口就一并显示了。也可以传递父对象,但仍是独立窗口。
2026-05-20 16:22:47
294
原创 【Qt学习】Windows上环境配置与项目初识
QtCreator编译的exe,想要运行,需要加载上面第一个bin目录里面的dll,所以配置了Path就可以在任意目录运行exe。VS写Qt程序默认使用本地编码gbk,所以注意打开其他项目时可能由于编码导致的乱码问题。界面左下角三个按钮可以进行:运行(Ctrl+R)、调试、编译(Ctrl+B)。再点击Configure Project,就可以打开示例程序。release会对代码进行优化,断点不会停。它们之间关系紧密,qt会自动建立关系和维护。创建完成后,点击左下三角,可以直接运行。构建系统默认qmake。
2026-05-20 12:56:49
358
转载 Windows开放防火墙端口
依次点击【程序】-【系统和安全】-【Windows Defender 防火墙】-【高级设置】目的:开放端口给局域网内其他电脑访问本机的网站。win+r,输入control,回车。点击【入站规则】,点击【新建规则】
2026-04-23 12:50:46
34
原创 C#读写Bson格式的文件
在VS2022控制台项目中,通过NuGet安装Newtonsoft.Json.Bson1.0.3:该库用来读写bson格式的文件,也就是json文件的二进制版本的文件。
2026-01-09 17:52:17
326
原创 Windows环境下配置Emscripten并编译C++为wasm
下载教程略,本文示例安装的版本为Python 3.13.9。Emscripten运行需要Python环境。
2025-11-12 14:18:06
349
原创 Vue前端开发学习的简单记录
的vue项目,该项目为vue 2项目,并且已经默认添加了四个常用的模块: less, babel, router, vuex。页面中有Vue的图标,标题为:Welcome to Your Vue.js App,并且还有一些其他文字、超链接。如果Git是默认的路径:C:\Program Files\Git\bin,则不需要在VScode中配置。比如src是source的简写,代表源码的含义,也是我们核心代码的存放之处。输入到浏览器的地址栏中,并回车,可以看到Vue项目的初始(默认)网站页面。
2025-10-09 18:27:21
738
原创 Xbim遍历IFC三角剖分后的面片坐标
读取IFC文件,遍历里面所有构件,遍历每个构件的所有三角剖分后的三角面片,并打印每个面片的三维坐标。环境:在VS2022中,通过NuGet中安装Xbim.Geometry库。
2025-09-29 11:12:38
197
原创 LeaferJS创建支持缩放、平移的画布,并绘制简单图形
LeaferJS官网:https://www.leaferjs.com/官方快速上手的教程地址:https://www.leaferjs.com/ui/guide/install/ui/start.html通过script标签引入leaferjs,并绘制矩形,支持选中矩形后对矩形的平移,但没法缩放。制作的Gif效果:需要引入leaferjs视口插件:https://www.leaferjs.com/ui/plugin/in/viewport/还需要配置type和wheel参数。效果图:创建一个简单的
2025-08-27 20:46:15
940
原创 原生JS使用svg-pan-zoom库平移和缩放svg
可以在前端加载svg字符串显示svg,然后用中键平移svg,用滚轮缩放svg。//获取svg字符串(读取本地svg文件)// 设置div的内容为svg字符串。//创建svg控制平移缩放的实例。"读取svg文件失败:"
2025-08-02 15:03:02
8931
原创 【NetTopologySuite库】使用Polygonizer线构面时对洞的处理
查看这个库的源代码,发现会优先保留不相邻的多边形,而相邻的多边形会丢弃(达成所谓的有效的多边形化)。思路就是只保留与外环相邻接的多边形,不邻接的多边形都删掉。有时候,中间那个多边形可能是“洞”,就不想要这个“洞”。使用Polygonizer将这些散线转为面。这样不仅把中间的“洞”删掉了,还多删了。(库的版本是2.6)中的。
2025-07-30 13:23:29
454
原创 通过require伪代码了解commonjs的本质
模块在_require函数中被调用,所以在模块内可以调用函数内特有的arguments形参。模块被在函数内调用时,共有5个形参:exports, require, module, __filename, __dirname。有缓存,缓存的是module.exports,所以模块文件只会执行一次。多次require,获取的是同一个module.exports对象。CommonJS 的设计目标是共享状态和避免重复初始化,适合服务器端场景。
2025-07-26 21:08:05
238
原创 【NetTopologySuite库】使用Polygonizer线构面,并获取割边、悬挂边、无效环
【代码】【NetTopologySuite库】使用Polygonizer线构面,并获取割边、悬挂边、无效环。
2025-07-25 18:15:00
368
原创 Javascript使用DOMMatrix进行2D坐标的矩阵变换
核心是创建DOMMatrixDOMPoint的两个对象,然后调用DOMPoint的方法。
2025-07-17 12:13:03
302
原创 Blender设置物体绕轴环绕
让一个立方体绕Z轴环绕为多个,比如4个。本文示例使用的Blender版本为4.4.3。参考:【blender物体绕圆形环绕】 https://www.bilibili.com/video/BV1EyHYeBE4T/?
2025-06-30 14:09:13
1630
原创 Leaflet简单示例(加载OSM、绘制简单图形)
官方英文网站:https://leafletjs.com/中文网站:https://leafletjs.cn/效果图:原生js加载OSM底图效果图:代码:vue2绘制简单图形效果图与图1相同。步骤:
2025-06-18 13:04:23
492
原创 使用原生JS在Cesium中加载天地图矢量、影像底图
摘要:本文介绍了如何在Cesium中加载天地图矢量底图和影像底图的方法。首先需要申请天地图密钥,创建浏览器端应用获取Key。然后通过WebMapTileServiceImageryProvider接口实现地图加载,提供完整的HTML代码示例(需替换自己的天地图Key)。代码支持切换矢量/影像两种底图类型,并设置了默认视角和基础三维地球界面。文中还展示了两种底图的显示效果截图及放大效果对比。
2025-06-17 11:54:52
1992
1
shapelib开源库在Windows环境下编译的动态链接库dll
2026-05-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅