- 博客(12)
- 收藏
- 关注
原创 Qt信号和槽传递参数错误
引发这个问题的原因是qt把传递的int index当成bool类型被槽函数获取到了!而index通常不会变化,改变连接参数后,信号接收正常,所以qt连接信号时最好把全部参数写上,不要图方便省略。在另一边使用connect连接却发现,无论什么时候b都是固定的值,没有随着变化而变化,在发送信号的那边监听select时却是正确变化。
2024-09-26 09:41:47
317
原创 使用.net API进行revit二次开发时遇到的环境问题
经过一番排查终于发现是vs的.net框架使用不对,revit api需要 Microsoft .NET Framework 4.8,但是我创建的项目类型不对,应该选择后面带.NET Framework框架的类库项目,如果没找到这个项目类型,就打开Visual Studio Installer勾选.net桌面开发,等待vs修改好后再次新建项目,此时就能看到.NET Framework框架的类项目选项。记录一下接触.net和c#时遇到过的问题,开发工具使用的是Visual Studio 2022。
2024-08-21 17:13:41
476
原创 使用proj4库连接proj.db到PostgreSQL版本错误的问题
解决方式也很简单,找到自己安装的proj库的proj.db位置,我这里是E:\vcpkg\installed\x64-windows\share\proj , 在使用proj函数前,调用proj_context_set_database_path函数设置proj.db位置的函数重新设置。从PROJ 8.1开始,如果auxDbPaths参数是一个空数组,那么将使用设置好的PROJ_AUX_DB环境变量。经过排查发现是和安装的PostgreSQL的proj.db版本不一致导致proj寻找的proj.db错误。
2024-08-12 10:24:40
823
原创 OsgEarth嵌入qt开发学习笔记(3)对相机的移动操作
在osg中首先需要osgViewer承载一个场景,可以说是窗口,osgViewer通过setSceneData()函数添加节点,也就是内容物,osgearth就是对内容节点做了更加适配地理信息的细化,而osgView的setCameraManipulator()函数,设置一个相机可见的区域,对相机操作也就是对可见的区域的控制。
2024-07-10 09:39:44
819
1
原创 在VS环境下使用QT造成的乱码问题
经过搜索发现是vs新建文件时的编码问题,新建文件的编码是UTF-8文件,但vsqt貌似需要带BOM的UTF-8格式才能正确显示中文,这时候就进入代码源文件夹,右键新增的类.cpp->打开方式->使用记事本->点击文件->另存为,选择右下角编码为带BOM的UTF-8,保存,再次运行,就发现该类不会在出现乱码了。在VS环境中使用cmake管理qt项目,新建类时发现qt显示乱码,在cmake中添加如下命令后,一开始建立的main.cpp中设置的标题可以正确显示,但是新增的类中输出的编码依旧是乱码。
2024-06-04 09:53:19
472
原创 OsgEarth嵌入qt开发学习笔记(2)osgWidget的实现和对osgearth图层的操作
下使用版本osgearth3.4,不适配osgearth2.x,使用Qt5.15/osg3.6.5/osgearth3.4/osgQt。
2024-05-17 11:04:19
1767
原创 使用vcpkg安装osg、osgearth、osgQt
前言:使用VS编译时因为第三方库的问题导致前功尽弃,最后还是绕回到vcpkg安装所有库,这里是安装过程记录。
2024-05-15 10:37:12
2648
原创 OsgEarth嵌入qt开发学习笔记(1)-使用vs2022编译OSG、OSGEASRTH、OSGQT
导入osg库只需要将OSG_DIR设置成OSG库文件所在的位置,剩下的会自动匹配,至于导入三方库,这里提供一个简单的方法将CMAKE_INCLUDE_PATH、CMAKE_LIBRARY_PATH设置成osg库编译时第三方库的位置,同时发现CMAKE_PREFIX_PATH也填了一个路径,这个路径能是让cmake通过.cmake自动寻找所需要的库。当然如果不想使用vcpkg,那么就需要自己一个个导入,导入完成后路径检查一下是否正确,接着点击Generate,使用vs编译osgearth。
2024-05-14 10:06:39
1544
6
原创 使用qt5.15.2和cmake构建安卓时构建套件和设备不支持
如果还是出错就在检查下current Configuration 查看对应的ANDROID_ABI是否修改,ANDROID_BUILD有没有勾选对应版本,如果没有,就手动选择对应版本且保存修改。下图我配置的安卓设备是x86_64,而ANDROID_ABI却是armeabi-v7a,这就是没配置正确,更改ANDROID_ABI为x86_64应用修改,然后重新构建。记录一下使用qt5.15.2和cmake构建安卓时遇到的构建套件架构和设备不支持的问题,使用qt6时没有遇到这个问题而切换到qt5就出现了问题。
2024-05-07 11:32:04
1320
原创 使用cmake和vcpkg构建最新osgearth3.5
PS:建议不要从release下载,因为源码作者一直在更新,而release下载的osgearth3.5源码还是23年提交的,从源码构建能获取最新版本!注意:需要根据自己项目的构建配置(Release、RelWIthDebInfo、Debug)指定不同的构建目录,并使用这是因为osgEarth的某些依赖项不会在不指定构建类型的情况下同时选择调试和发布版本。-DCMAKE_BUILD_TYPE=Debug,表示使用Debug构建,根据想要构建的版本可以变化为Release或RelWIthDebInfo。
2024-04-24 11:47:31
2292
原创 使用vcpkg安装osg,openssl报错遇到的问题
然后检查Visual Studio,很简单的问题却卡了我两天,如果Visual Studio安装的路径有空格,重新安装删除路径中的空格,重装路径最好不要有中文!(我第一次重装的时候没注意,再重装了一次)在cmd执行命令vcpkg install osg:x64-windows gdal:x64-windows curl:x64-windows。出现这种情况,先检查一下vcpkg是不是最新,一些关于openssl的问题在最新版本得到了修复。记录一下使用vcpkg安装osg途中遇到的问题。
2024-04-23 11:59:09
844
1
原创 关于使用vcpkg下载osgearth遇到的问题
注意--x-manifest-root=后面跟着的E:\gitproject\osgearth-osgearth-3.5\vcpkg是你下载的源码解压缩后vcpkg.json的文件地址,然后等待编译完成。安装vcpkg后使用vcpkg install osgearth:x64-windows安装好osgearth并且导入项目使用时,发现无法运行官方文档中示例的main.cpp。这里写一种自己用过的使用vcpkg安装osgearth3.5的方法,源码,打开vcpkg所在的命令行,执行。示例main.cpp。
2024-04-23 11:31:52
1361
osg3.7.0、osgearth3.4和osgQt和第三方库
2024-05-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人