自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (17)
  • 收藏
  • 关注

原创 Linux下C/CPP开发,函数符号冲突问题

起因测试给我提了一个BUG,我们的程序在连接HTTPS服务端后,莫名crash。在还原测试环境后,通过gdb调试,发现crash在libcurl的curl_easy_platform这个函数里面,于是开启了漫长的debug之旅,最终发现是函数符号冲突所致。还原函数符号冲突情景首先准备三个模块静态库libA.a动态库libB.so可执行二进制test.bin静态库libA.a静态...

2019-09-30 16:58:04 548

原创 Linux下使用-static -lpthread静态编译出现段错误(Segmentation fault)

Linux;静态编译;段错误;-static -lpthread;Segmentation fault。

2017-12-05 12:28:33 2336

原创 Windows下使用MinGW编译boost库

准备工作MinGW首先要安装MinGW,并添加MinGW的bin路径至环境变量Path。 MinGW下载地址:https://sourceforge.net/projects/mingw-w64/ 或:http://download.csdn.net/download/godmaycry/10143726 MinGW配置成功标志:在cmd控制台下输入gcc -v,如显示gcc版本信息,即成功。

2017-12-04 10:51:29 5309

原创 Windows下使用CMake+MinGW静态编译发布.exe程序

最近使用mingw编译了一份boost静态库,在CMake编译成.exe程序发布后,发现仍旧提示缺少DLL文件。提示缺失的DLL文件大概如下:libgcc*.dlllibstdc++*.dlllibwinpthread-1.dll经过简单摸索之后,终于找到了解决方法。#需要在CMakeLists.txt添加以下内容#设置静态编译set(CMAKE_CXX_FLAGS "${CMAKE_CXX_

2017-12-03 10:55:47 3979

原创 Boost库解密——自动链接库(auto_link)

Boost库的自动链接库boost是一个著名而强大的C++开源库,它可以说是标准库STL的补充,被称为C++的“准标准库”。 在boost库的应用中,大部分的接口只需要包含头文件即可,少部分需要链接已编译的boost库文件。然而实际使用你会发现,其实并不需要手动链接库文件,我们只需包含库文件路径,boost会帮我们自动链接库文件。 这就是boost的自动链接库——auto_link。auto_l

2017-11-30 10:22:40 3791

原创 C++设计模式——一个基于C++11的万用单例模板类

单例模式概述单例模式(Singleton),是设计模式里面最常见、最常用的设计模式,也是最简单、最容易实现的设计模式。 单例模式的目的很简单,创建一个全局唯一的对象(类or变量)。简单代码实现//Simple_Singleton.hclass Singleton {public: static Singleton* GetInstance() { if (!m_pSin

2017-11-06 15:41:54 2699 6

原创 Windows下CUnit编译安装教程

工作需要在Win端编译一个开源库,而这个开源库依赖于CUnit。在sourceforge下载了CUnit-2.1-3,而文档的编译方法在win下根本编译不过去。去百度编译方法,却发现结果都是错的,最后在爆栈网(stackoverflow.com)找到了解决方法。准备工具:首先要安装mingw和msys,下载地址:点击打开链接注意只需选择Basic Setup安装即可,如下图:

2017-08-22 15:42:13 6042 3

原创 [C++11]std::packaged_task介绍及使用

一、std::packaged_task简介在上一篇,我们介绍了std::promise的使用方法,其实std::packaged_task和std::promise非常相似,简单来说std::packaged_task是对std::promise>中T= std::function这一可调对象(如函数、lambda表达式等)进行了包装,简化了使用方法。并将这一可调对象的返回结果传递给关联的s

2017-06-05 17:16:34 21281 8

原创 [C++11]std::promise介绍及使用

注:本文系原创,转载请注明地址及作者。一、std::promise介绍std::promise是C++11并发编程中常用的一个类,常配合std::future使用。其作用是在一个线程t1中保存一个类型typename T的值,可供相绑定的std::future对象在另一线程t2中获取。二、代码示例:下面我们通过几个简单小例子逐渐深入了解std::promise的使用方法。

2017-06-02 16:16:48 30872 10

原创 虚拟机VMware设置开机启动

VMware是使用最多桌面虚拟化工具程序,常用于工作站与服务器。使用VMware最常见的问题就是不能在界面上设置开机启动,下面将介绍设置开机启动的方法。第一步:打开“运行”,输入“shell:startup”,回车进入启动文件夹。第二步:将VMware的桌面快捷方式复制到开机启动文件夹下面。第三步:右键VMware快捷方式-->【

2016-08-30 18:18:13 2495

原创 VS2010+QT5编程之巧妙运用定时器解决QTreeView/QTableView等QAbstractItemView实时条目统计问题

QTableView等QAbstractItemView常用来做为表格显示,但一般情况下会放在另一个大框架下。比如说我写了一个数据库编辑器,主框架界面是QMainWindow,包含菜单栏、工具栏、状态栏,QTableView里显示的是数据库获取到的表格数据。可我想在状态栏显示QTableView里实时选取条目的数目,说到这可能大家觉得问题太简单,写一个简单线程或者重写QTableView类里的

2015-07-06 19:12:38 1340

原创 VS2010+QT5编程之用QTabWidget写标签页(页码)的注意事项

使用QTabWidget很容易实现浏览器多标签页的效果,QTabWidget的使用教程不再过多描述,网上实例很多,非常简单。下面说一个在使用QTabWidget写标签页时遇到的问题。添加标签页时会用到如下:int index = tabWidget->addTab(testWidget,strTitle); //testWidget标签页控件,strTitle标签页标题tabWid

2015-07-01 09:39:48 2910 1

原创 VS2010/VS2012/VS2013+QT5编程之开发环境配置

用VS+Qt5开发并不是什么难事,下面详细讲一下如何配置编译环境:第一步:              安装VS和其对应的sp补丁包,网上很容易就能下载到安装包,傻瓜式安装,这里不多介绍。第二步:              点击打开链接          分别在vsaddin里面选择下载最新的qt-vs-addin,在qt里面选择要下载的Qt版本,例如我用的是vs2010

2015-06-16 10:24:52 5285

原创 VS2010+QT5编程之QTableView数字排序

很多人发现QTableView中的排序很不科学,比如列排序的一列数101、35、2、87、5、779,排序出来变成了101、2、35、5、779、87。再比如“中国”、“山东”、“济南”、“历下”这一列字符串,排序出来会变成“中国”、“历下”、“山东”、“济南”。先说一下QTableView如何设置排序,首先请不要设置水平标题头隐藏(行排序请不要设置垂直标题头隐藏),代码如下: QH

2015-06-10 09:07:01 4595 1

原创 VS2010+QT5编程之QTableView同时删除选中的多行

QTableView同时删除选中的多行,对于新手来说是一个容易出现错误的地方。下面是一段错误的代码:QModelIndexList indexList = tableview->selectionModel()->selectedIndexes();QModelIndex index;foreach(index,indexList){   view_model->remov

2015-06-09 10:21:40 7059 1

原创 VS2010+QT5编程之为QTableView添加右键菜单

QTableView是一个比较实用的类,下面教给大家如何在QTableView中添加右键菜单。#include #include QTableView *tableview;QMenu *rightMenu; //右键菜单QAction *cutAction; //剪切QAction *copyAction; //复制QAction *pasteAction; //粘贴QA

2015-06-08 17:59:00 7274 2

原创 VS2010+QT5编程之QString与char*的相互转换

在使用QT5+vs2010编程中,QString与char*的相互转换并不是那么简单,当QString或者char*包含中文时,适用于QT4的转换方法在QT5中转换出来很可能就是乱码。QString转char*:QString qstr = "中国山东济南";std::string str = qstr.toStdString();const char* ch = str.c_str(

2015-06-05 09:29:32 1455

原创 VS2010+QT5编程之解决中文乱码及一些编译未通过问题

新手使用VS2010+QT5编程,最常见的问题就是中文乱码。然而QT5不同于QT4,网上QT4上解决中文乱码的方法是不适用于QT5的。下面介绍一种常用的解决中文乱码的方法:首先,把源码文件全部转换成utf-8编码。(VS2010中的转换方法:打开任一.cpp/.h文件,文件》高级保存选项》如下所示)在#include下面添加如下代码:#if _MSC_VER >= 1600

2015-04-22 10:37:19 1069

原创 VS2010+QT5编程之setWindowIcon报错解决方案

遇到问题:VS2010+QT5的环境下编译QT程序,在设置程序图标setWindowIcon这一块报错:1>qt_demo001.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QIcon::~QIcon(void)" (__imp_??1QIcon@@QAE@XZ),该符号在函数 "publ

2015-04-21 11:16:31 2534

原创 关于QT4中程序移植到QT5中报“undefined reference to”问题

最近在学QT,发现QT4中的一些示例程序在QT5中会报错。具体是关于打印机的一个函数会报:undefined reference to `_imp___ZN8QPrinterC1ENS_11PrinterModeEundefined reference to `_imp___ZN12QPrintDialogC1EP8QPrinterP7QWidgetundefined referenc

2015-04-13 16:38:30 3900

OpenSSL_1.1.1g_MinGW7.3_x64(64位静态库)

OpenSSL_1.1.1g_MinGW7.3_x64(64位静态库),使用Qt自带编译器MinGW7.3编译而成,非常适合Qt开发使用。

2020-05-29

OpenSSL_1.1.1g_MinGW7.3_x64(64位动态库)

OpenSSL_1.1.1g_MinGW7.3_x64(64位动态库),使用Qt自带编译器MinGW7.3编译而成,非常适合Qt开发使用。

2020-05-29

OpenSSL_1.1.1g_MinGW7.3_x86(32位静态库)

OpenSSL_1.1.1g_MinGW7.3_x86(32位静态库),使用Qt自带编译器MinGW7.3编译而成,非常适合Qt开发使用。

2020-05-29

OpenSSL_1.1.1g_MinGW7.3_x86(32位动态库)

OpenSSL_1.1.1g_MinGW7.3_x86(32位动态库),使用Qt自带编译器MinGW7.3编译而成,非常适合Qt开发使用。

2020-05-29

OpenSSL_1.1.1g_MinGW5.3_x86(32位静态库)

OpenSSL_1.1.1g_MinGW5.3_x86(32位静态库),使用Qt自带编译器MinGW5.3编译而成,非常适合Qt开发使用。

2020-05-29

OpenSSL_1.1.1g_MinGW5.3_x86(32位动态库)

OpenSSL_1.1.1g_MinGW5.3_x86(32位动态库),使用Qt自带编译器MinGW5.3编译而成,非常适合Qt开发使用。

2020-05-29

OpenSSL_1.1.1g_MinGW4.9.2_x86(32位静态库)

OpenSSL_1.1.1g_MinGW4.9.2_x86(32位静态库),使用Qt自带编译器MinGW4.9.2编译而成,非常适合Qt开发使用。

2020-05-29

OpenSSL_1.1.1g_MinGW4.9.2_x86(32位动态库)

OpenSSL_1.1.1g_MinGW4.9.2_x86(32位动态库),使用Qt自带编译器MinGW4.9.2编译而成,非常适合Qt开发使用。

2020-05-29

Qt 5.15_LTS_MinGW7.3(32位动态库)

Qt5.15_MinGW7.3(32位动态库),根据Qt官方CI脚本编译而来,只包含release版,debug版太大,且用处不大,故不包含。

2020-05-28

Qt 5.15_LTS_MinGW7.3(64位动态库)

Qt5.15_MinGW7.3(64位动态库),根据Qt官方CI脚本编译而来,只包含release版,debug版太大,且用处不大,故不包含。

2020-05-28

boost1.71_MinGW5.3(32位动态库、静态库)

Qt5自带编译器MinGW5.3编译的boost1.71,适用于MinGW5.3的编译器C++开发使用。

2019-10-10

boost1.71_MinGW7.3(32/64位动态库、静态库)

Qt5自带编译器MinGW7.3编译的boost1.71,适用于MinGW7.3的编译器C++开发使用。

2019-10-09

Linux下的函数符号冲突问题示例Demo.zip

Linux下的函数符号冲突问题示例Demo,更多详情见博客: https://blog.csdn.net/godmaycry/article/details/101779912

2019-09-30

QmlBook_PDF_中文+英文+源码

QmlBook最新PDF电子书,包含中文版、英文原版,以及书中所有源码文件。

2018-02-05

boost1.65.1_MinGW(动态/静态库)

Windows下使用MinGW-W64编译的boost1.65.1库,包含有无运行时库、debug/release的动态/静态库。

2017-12-04

mingw-w64-install

mingw-w64-install,MingGW-Win64安装工具。源自https://sourceforge.net/projects/mingw-w64/

2017-12-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除