WuZixing / OpenGeo3D

An open source project of 3D geological modeling.
https://gitee.com/zhizhi-link/OpenGeo3D
MIT License
23 stars 7 forks source link

编译问题 #3

Closed leonpengdo closed 1 year ago

leonpengdo commented 2 years ago

您好,我是一名研究生,最近在从事地质建模方面的工作,对您的项目非常感兴趣,因此下载了源码进行编译。但在配置过程中出现了各种各样的问题,目前是卡在无法打开libG3DXML.lib这一步,不知道您能不能给点建议如何解决?

WuZixing commented 1 year ago

libG3DXML.lib是从Geo3DML-CPP这个库编译出来的。Geo3DML-CPP库编译成功了吗?

WuZixing commented 1 year ago

或者补充一下具体的错误信息看看呢?

leonpengdo commented 1 year ago

感谢您百忙之中能抽出时间来回答我的问题。在这几个月中进行了多次的尝试,也有一些进展,也出现了一些问题,但不太清楚是否正确,麻烦您指教一下 Q1:在之前编译中有时候能通过cmake的编译,有时候则会报错显示找不到pthead.h这个头文件(编译通过时好像是因为我选择的QtPropertyBrowser头文件不同的原因?这个pthead的配置一直没有弄清楚)。 Q2:之前在cmake编译通过后,在vs生成exe阶段,显示libG3DXML.lib的的问题(具体原因忘记了),之后找了许久后发现是您文件在/Geo3DML-CPP/src/g3dxml/libxml2/CMakeLists.txt:set(CMAKE_THREAD_PREFER_PTHREAD OFF)中设置了off,我改成on之后,没有再报错libG3DXML.lib的问题(不太清楚是不是这么解决,今天又尝试了一下,发现改回了也没有再报错之前的问题),修改之后在vs中libG3GRID.lib、libG3DXML.lib、libGeo3DML.lib这三个文件的生成都没有啥问题。 Q3:但现在编译过程中的OpenGeo3D这个项目的生成显示为近1444多个LNK2019,无法解析外部符号,基本上都是.obj文件中的错误,目前还不知道如何解决,期待您的建议。 微信图片_20221115213058

我最终的目的,其实是想通过gis的手段来简化有限元建模的前处理过程,即通过加入dem和断层线等2.5维数据简化3维建模的过程(包括格网的细化的剖分-如八叉树算法),从而实现3DGIS与FME的耦合,之前有通过3DMINE等软件进行六面体的建模工作,但因为不是开源软件等原因,无法实现心中的算法,因此希望能通过您的平台来实现这样一个功能,麻烦您了。

WuZixing commented 1 year ago

这个看起来是没有链接到 Qt 的 Widgets 库。OpenGeo3D/CMakeLists.txt 里有要求链接到 Qt5::Widgets 的配置:

Screenshot 2022-11-16 at 09 32 04

你看生成的VS工程里“链接”部分的配置正确吗?

leonpengdo commented 1 year ago

感谢您的回复,我仔细检查了一下,发现之前用的是qt平台为x32,导致了一系列错误,更改为x64后,错误减少到19个,但仍然报错无法解析外部命令 image 按照您的建议,我检查了cmake编译过程和vs中链接库目录,发现qt5::widgets应该是已经链接过了的,或许不是这个问题。 dda0bce0f94d25854414874b3692558 bbacdd9b1d30c53905269a280c18ec5

WuZixing commented 1 year ago

旧的错误信息里提示的无法解析的外部符号是Qt的,如QWidgetQIconQMainWindow等等。新的无法解析的外部符号是来自Geo3DML-CPP库的,比如g3dvtk::ObjectFactorygeo3dml::Model等等。无法解析的外部符号的意思就是链接过程中没找到对应函数的实现,要么是函数只有声明没有实现,要么是没找到对应的lib库

WuZixing commented 1 year ago

不过我也还没把网格属性差值的功能加进来。现在就我在维护,没人帮忙的话估计要元旦以后再补充新功能了。

leonpengdo commented 1 year ago

感谢您的回复,我再仔细思考检查一下。如果您需要帮忙的话,我能跟您一起进行学习、维护吗?如果可以的话能否留下您的联系方式,我的邮箱是:pengboqi@csu.edu.cn,或者您加一下我的qq:976853891。

WuZixing commented 1 year ago

我qq用的少,要不直接加我微信吧:18619733