2026.1.14随笔:实习第十八天(改Bug:.pro配置文件,CFDApplicationLogger日志)
今天上来先把昨天mt叫我把显示边界条件、显示网格和显示声压数据的逻辑在DataManager里面封装成函数,显示网格和显示声压数据都OK没什么问题,但是显示边界条件我移到DataManager里面就会报一个链接错误,问了Ai说是
- 缺少导出宏(最可能的原因)
- 未链接对应的库文件 (.lib)
- Qt Meta-Object 系统错误 (LNK2001)(清除重建大法)
- 虚函数未实现
- 函数签名不匹配(调用端和定义端完全一致)
一一排查了之后,都是OK的,但是它就报错。
后来问了Ai说可能是配置文件的问题,之后就发现ACFEAOperatorsModel里面的配置文件里面有ACFEAGUI,DataManager的配置文件没有引入ACFEAGUI的库,所以编译器只找到了函数声明,无法链接函数定义,之后改好了就能跑了

在调试的时候,发现打qDebug不是很方便,看到系统里面有一个CFDApplicationLogger.h,然后就在研究这个日志。
问题:只能定向输出日志到文件里,不能直接输出到控制台
之后就是修改了一下往json文件里面添加tab的函数,主要是添加一个去重逻辑;然后就在实现打开项目时自动读取旧项目的json文件,将文件里面的openedtabs自动添加到新项目的右侧标签栏
然后又改了一下加载配置文件的函数loadConfigFile去掉一些繁琐的逻辑,让它变得简单一点,反正就是在维护之前写的代码
mt原话:
因为你在DataManager用到了这个类,我觉得你这里还是得调整一下,像Data这种最好是不要依赖别的模块,让他只是处理数据,文件操作相关的比较好一点,像创建视图这种最好交给别的模块去做,Data作为被依赖的模块,最底层,你这块可以只做数据整理,创建视图什么的交给调用的那个模块去做,比如说交给ACFEAOperatorsMenuManager,他的作用就是收集数据,然后创建视图,相当于MVC里的C,M和V尽量解耦
你可以按模块拆分一下,哪些是需要交给DataManager解析数据的,哪些是需要交给ACFEAOperatorsMenuManager创建视图的,然后再看一下你这些函数是不是整体移动就行,还是需要拆成两块
所以下一步就是把函数解耦,按模块分别交给DataManager解析数据和ACFEAOperatorsMenuManager创建视图
明天再说吧,我怕今天没改完然后明天早上来又不知道从哪里开始了
下周就要期末考试了,本人依旧啥都没看
最近在看《富爸爸穷爸爸》这本书,这可以说是我实习期间最有用的一段经历,我深受启蒙
早上八点半,你被上班的闹钟吵醒,起来洗漱出门,在上班路上看到一个买早餐的小摊,于是你停下来,买了两个包子,匆匆忙忙赶到公司楼下发现快迟到了,在迟到的前一分钟你终于到达了工位,打了卡,开始一天的工作,中午点外卖或者在公司食堂吃饭,饭后午休一小时,下午继续处理工作,下午六点(或许更晚)下班了,你没有精力去健身,或者进行其他的娱乐活动,只想马上躺床上睡觉。第二天早上八点半你又准时被闹钟吵醒,开始新一天的工作。把上述过程重复40-50年(或许周末你会轻松一点),这就是我即将经历的一生。
什么是财务自由,不妨幻想一下当你四五十岁真正财务自由的时候你的生活是怎样的,每天不用被上班的闹钟吵醒,睡到自然醒,已经十点十一点了,之后慢悠悠的吃着午餐,差不多下午一两点出发去健身房,下午四五点健完身后,可以去和朋友出去吃个饭,吃完饭回到家,刷刷视频,看看书,追追剧,甚至打一会游戏(如果还有兴趣),之后睡觉
所以,现在的我(大学生)完全具备财务自由后的生活条件,好好珍惜这段日子