C++
文章平均质量分 54
L-H·Hsu
revit development
展开
-
Objectarx 2021使用vs2019生成报错 /RTCc rejects conformant code
错误修改,/RTCc rejects conformant code原创 2023-08-19 14:58:32 · 1254 阅读 · 0 评论 -
C++ 检测程序是否在运行
c++ 根据名称获取 process handle 和 pid原创 2022-06-10 16:56:46 · 1439 阅读 · 0 评论 -
MFC 引用tinyxml,x64
想做一个使用ftp自动更新的模块,需要读取xml文档并于服务器的数据核对然后下载,本以为按照网上的教程可以解决但是中间还是遇到了许多问题,这里就记录一下步骤。配置Visual Studio 2022tinyxml,下载链接:TinyXML步骤直接使用nuget下载tinyxml包最后会报错,原因是包里面是Win32编译的,所以最后会出现错误根据下载的包,使用visual studio打开,并新建配置管理器,在里面创建x64配置,之后编译tinyxml项目文件,可以一次性将Debug,Rel原创 2022-05-17 16:54:56 · 344 阅读 · 0 评论 -
Revit自动更新 - C++ FtpGetFiles()
FtpGetFiles()函数详细解释详见官方文档https://docs.microsoft.com/en-us/windows/win32/api/wininet/nf-wininet-ftpgetfilea网上搜这个函数发现这个函数介绍的有点少,所以将自己运行成功的代码放上来希望能够帮到一起学习的人。实现方式:链接服务器获取ftp连接句柄检索在项目中是否有此文件名称,如果存在则下载使用c++ 操作ftp按照文档说法我们应当首先创建InternetOpen获取句柄,并将句柄传原创 2022-05-16 15:14:07 · 522 阅读 · 0 评论 -
QT Copy Table 复制文档内已有表格
参照:word操作的接口,我前期是对照博主的代码对应api学习的 QT操作Word,插入表格用Qt操作Word文档成果复制图中的表格到文档末尾今天想实现一个需求,复制word模板内的表格,搜索各大引擎大部分是修改表格内部属性或是取值赋值之类的操作,没有整体复制一个表格的需求。在开始之前应该先了解QT 中 QAxObjext 方法中 querySubObject与dynamicCall,通俗点来说前者是调用方法或者调用属性,因为时间太长相关知识我也是囫囵吞枣,理解不太清楚。操作wo原创 2021-10-19 16:45:29 · 1005 阅读 · 0 评论 -
QT+ CLion + Revit 问题汇总
因为一直想实现QT+CLion+Revit的开发路径,所以从头开始学习QT与C++,在这里记录一下QT遇到的问题及后续的问题。如果开发周期不足估计会用一两周爆肝出来,随时会断更。目前的思路是C++创建dll,在dll里面编写QT界面,之后用C++ Revit 的API接口实现整个步骤。中间需要用到sqlite3的数据库组件,目前就想到这么多。现在已经实现c++读取sqlite3并完成数据接口。QTCMAKE文件cmake_minimum_required(VERSION 3.20)proje原创 2021-09-14 15:55:10 · 1326 阅读 · 1 评论 -
error LNK2001: 无法解析的外部符号 “public: virtual void __thiscall
今天创建了一个工厂模式,中间定义了两个继承函数,但是在主函数中我没有写内容,直接在继承函数中写的算法,结果报错error LNK2001: 无法解析的外部符号 "public: virtual void __thiscall,各种搜索引擎也没有解决错误,最后觉得应该是父函数中函数未定义造成的错误,加上函数定义之后解决问题。这个是很低级的错误,估计只有像我这种直接c++写代码的才会出现的错误,记录一下当做提醒,防止以后再犯相同的错误。code:library.hclass rElement{publ原创 2021-09-11 22:33:05 · 6202 阅读 · 3 评论 -
CLion Debugger process finished with exit code -1073741819
读取sqlite3数据时报错,排除代码问题后感觉实在toolbain上,于是修改Debug Setting从QT-MINGW到MINGW还是报错,后来在jetbrains的网站解决方案中发现回复是MinGW的bug更换vs debugger后解决。原文地址:Debugger process finished with exit code -1073741819 (0xC0000005) ...原创 2021-09-09 15:10:51 · 1695 阅读 · 0 评论 -
c++ 单独使用remove_if造成数据重复的问题
在使用remove_if时发现此函数无法对容器内满足pred表达式的数据删除,remove_if将会使用列表内其他数据填充,而本身的大小不变,具体解释可以参考remove_if的用法,这种情况下需要搭配erase方法彻底删除.bool IsMoreThen(LinkList target){return target.count>=5;}list.erase(std::remove_if(list.begin(), list.end(), IsMoreThen));...原创 2021-08-06 16:59:25 · 281 阅读 · 0 评论 -
C++ 没有找到接受const _Ty类型的左操作数的运算符
在使用STL中的count(const )算法时报错没有找到接受const _Ty类型的左操作数的运算符,原因是 使用自己创建的双向链表类没有重载左运算符== ,添加上重载运算即可。bool operator==(LinkList l1, LinkList l2) { if(l1.count != l2.count) return false; /* * 此处应该去数组1的header与数组2中的array[header] * 如果存在,则开始遍历直到原创 2021-07-27 14:54:59 · 1040 阅读 · 0 评论 -
使用C++进行Revit二次开发
由于做族库中,考虑到连接数据库代码可能会被反编译,上个版本中我采用的是WCF的方式与服务器数据交互,文章可在我前几篇找到,但是最近在学习QT相尝试使用QT+C++或是VC++开发,看一下效果,所以简单写了一个c++开发的demo。参考链接:C++ Revit Add-In步骤:需要确保我们的VS上面安装CLI工具,如果按照上面的步骤直接进行的话,是没有类库选项需要我们安装额外的组件。安装点击:工具-获取工具和功能即可安装创建类库,输入名字与.netframwork框架版本即可,版本与RevitA原创 2021-05-09 16:23:59 · 2161 阅读 · 3 评论 -
QT 学习之路
添加动作//mainwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACEnamespace Ui { class MainWindow; }QT_END_NAMESPACEclass MainWindow : public QMainWindow{ Q_OBJECTpublic: MainWindow(QWidget *paren原创 2021-01-08 17:30:36 · 475 阅读 · 0 评论 -
c++ 虚继承
/* * 虚继承 * 概念:解决从不同途径继承来的同名数据成员在内存中有不同拷贝造成的数据不一致问题,将共同的基类设置为虚基类。 * 这时从不同的路径继承过来的同名数据成员在内存中就只有一个拷贝,同一个函数名也只有一个映射 * 解决问题: * 解决了二义性问题,也节省了内存,避免数据不一致问题 * * 分析: * 从程序中可以看到,C,D,E不同的继承类型为三种 public A,virtual A与virtual B,其中两次使用了virtual B * 第二次的继承将会直接引用第一次的原创 2020-12-31 14:43:25 · 181 阅读 · 0 评论 -
C++ 获取文件夹下所有文件并修改为16进制名
参考连接:https://blog.csdn.net/u012500825/article/details/41947013C++ 字符、字符串转十六进制(支持中文字符串转换)// ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include <string>#include <io.h>#include <sstream>std原创 2020-12-02 17:30:55 · 183 阅读 · 0 评论 -
C++ primer&primerPlus笔记
今天再看C++ primerplus第六章分支语句是看到一个案例, char ch; cout << "Typr , and I shell repeat.\n"; cin.get(ch); while (ch != '.') { if (ch == '\n') cout << ch; else cout << ch +1; cin.get(ch); } cout << "\n Please excuse thr sligh原创 2020-06-14 16:10:46 · 207 阅读 · 0 评论