static link:关于gcc连接静态库的几种方式

开发一个应用程序不可避免要使用多个第三方库(library). 默认情况下,gcc采用动态连接的方式连接第三方库,比如指定`-lpng`,连接程序就会去找`libpng.so`。 gcc提供了一个`-static`参数,可以改变gcc默认的连接方式,GNU官网上关于gcc连接选项的手册[《...

2018-10-21 15:29:41

阅读数:13

评论数:0

解决git错误: error object file is empty , The remote end hung up unexpectedly

今天执行git pull时遇到麻烦,应该是昨天电脑异常关机造成的git数据损坏: $git pull error: object file .git/objects/88/526655aa4eca14ead2d443e80082276a79e0c2 is empty error: objec...

2018-10-21 11:31:44

阅读数:31

评论数:0

linux shell: 命令运行符号(control operator) terminated '&'的意义塈了解control operator指南

好久以前就看到一些脚本中执行一个命令用’&'结尾,类似如下: #!/bin/bash lcd_test & 当时搞明白了意思,但现在又忘记了,赶紧补习一下在此做个记录: 根据stackoverflow上这个帖子《What does “&am...

2018-10-19 10:13:16

阅读数:15

评论数:0

cmake:解决error LNK2005: void * __cdecl operator new(unsigned __int64) already defined in LIBCMTD.lib

当以/MT选项编译MFC项目时,会报下面的错误 1>nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned...

2018-10-10 16:34:04

阅读数:14

评论数:0

win32 pthread:获取线程 id

mingw-w64提供的gcc编译器(posix版本)提供的pthread实现(简称WIN_PTHREADS)与pthread for win32提供的pthread(简称PTW32)实现是有差别的。 PTW32中pthread_t定义是一个结构,而WIN_PTHREADS则与linux版本的pt...

2018-10-09 16:14:17

阅读数:30

评论数:0

cmake:find_package查找pthread for win32的实现脚本

pthread for win32本身没有提供find_package脚本,cmake官方也没有提供,所以如果在cmake中要查找pthread for win32的库,就得自己实现,我参照FindJPEG.cmake自己写了个查找脚本FindPTHREADW32。 cmake官方提供的Find...

2018-10-09 00:05:41

阅读数:21

评论数:0

CImg:一行代码实现RGB转YUV

CImg提供了丰富的色彩空间转换功能,允许在不同的颜色空间(RGB,sRGB,YUV,HSL,HSV,YCbCr,CMY,CMYK,XYZ)之间的转换,使用非常简单以下是将一个RGB图像转为YUV的示例。 #include <CImg.h&a...

2018-10-02 15:28:40

阅读数:54

评论数:0

CImg:插件(plugin)使用说明塈实现JPEG图像内存编码/解码

杀鸡用牛刀? 如果你想对图像进行简单处理,你一般会想到用什么?可能多数人想到的是OpenCV。 对,OpenCV是个非常强大的图像视觉工具库,用途非常广泛。简单的图像处理用它肯定是可以的。 但OpenCV实在太庞大了,用起来有时反而不方便,就好比你现在肚子饿了只想简单吃个午饭,你是选择街边的饭馆买...

2018-10-02 14:45:53

阅读数:44

评论数:0

eclipse/cdt:-fPIC引起的线程局部变量(__thread)的SIGSEGV异常问题

最近在用eclipse调试一个C工程时遇到一个好奇怪的问题: 一个应用程序A,调用一个静态库B,静态库中用__thread定义了线程局部变量(TLS,thread local storage),在eclipse跟踪进B的函数,代码执行到访问TLS变量时,程序直接就崩溃了,报了SIGSEGV错误异...

2018-09-29 14:20:43

阅读数:74

评论数:0

git:error: Your local changes to the following files would be overwritten by checkout:

完成dev分支下的开发工作,准备切换到master分支的时候,报了个错 error: Your local changes to the following files would be overwritten by checkout: 天地良心!老子肯定把所有的改变都提交了,工作区是干净的...

2018-09-26 23:28:22

阅读数:27

评论数:0

cmake:LINK : error LNK2001: 无法解析的外部符号 WinMainCRTStartup

正在设计的一个C/C++混合语言项目是用cmake来管理编译的,用cmake生成的一个Visual Studio工程(c++)在编译时报了个错: LINK : error LNK2001: 无法解析的外部符号 WinMainCRTStartup 好是莫名其妙的问题,之前是没有这个问题的...

2018-09-11 22:18:50

阅读数:62

评论数:0

MSVC:fix warning: _WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)

编译一个从旧版本MSVC工程时没头没脑的报了个警告(我的编译器是Visual Studio 2015): _WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h) 意思就是没有定义_WIN...

2018-09-09 14:45:36

阅读数:50

评论数:0

maven:升级到java 8 导致的插件报错 maven-plugin-plugin:3.2:descriptor failed: 52264

最近将项目的代码JDK版本基准从jdk1.7升级到jdk1.8,在升级的过程出了一堆问题。 在重新用java 8编译一个maven插件的时候报错了: org.apache.maven.lifecycle.LifecycleExecutionException: Failed to exe...

2018-08-15 10:50:37

阅读数:137

评论数:0

minigui 3.2.0:基于miniStudio应用TrueType字体的过程(1)

学习MiniGUI上使用TrueType字体时,在网上找了好多文章,总算是搞定了。不过话说这世界变化快,minigui也在更新迭代,这些文章大都是2年前写的,看这些文章对我入门有帮助,不过也被一些过时的内容坑了不次。在这里做将我的过程做一个记录以备用。 新版本 MiniGUI 3.2.0 ...

2018-07-19 10:55:42

阅读数:366

评论数:0

eclipse cdt:使用Grep Console插件 实现log输出自动中转到源码

eclipse 中有一荐很有用的特性,就是在控制台输出日志时,只要满足如下图的格式,就可以显示为源码链接,鼠标点击就可以到达日志输出的源码位置 。 然而这个特性只对java代码有效,对c/c++代码无效,c/c++代码在控制台的日志输出eclipse只当作普通文本,不会自动识别其中的源码位置...

2018-07-07 19:12:25

阅读数:515

评论数:0

解决编译mips gcc 5.2.0版本时报错:mpfr/mpfr-longlong.h:1016:3: error: impossible constraint in 'asm'

因为厂商提供mips交叉编译器不太满足要求,今天在ubuntu 16.04下尝试编译mips交叉编译器(gcc 5.2.0),在编译到mpfr时报了个错: /bin/bash ./libtool --tag=CC --mode=compile mips-linux-gnu-gcc -DHAV...

2018-06-10 11:03:46

阅读数:231

评论数:0

c++:动态库接口函数返回stl对象的设计原则塈‘__acrt_first_block == header’异常原因分析

问题描述 最近在写dll动态库时,动态库函数返回的std::string对象在析构时抛出了异常: 为简化描述问题,测试代码如下(MSVC /MT 编译),就是返回一个简单的std::string tools.h # if defined(_WIN32) &&a...

2018-05-31 14:29:04

阅读数:458

评论数:0

glib:windows下基于MSYS2环境编译glib2的过程

如果用MSVC编译开源库实在是麻烦,主要的麻烦在于第三方的开源库本身还需要一些依赖库,这些依赖库在windows多数并不提供编译好的二进制版本,所以要先编译安装各种依赖库,比如glib。 我也曾想用官方提供的二进制库(http://ftp.gnome.org/pub/gnome/binaries...

2018-05-21 23:55:24

阅读数:455

评论数:0

thrift:在cygwin下编译C library for win32(lib/c_glib)

如果要编译thrift的C++ 库,参照thrift官方的说明:Building thrift on Windows (Native) 使用cmake 编译还是比较方便的。(有空专门写一个thrift c++库的编译过程) 但是要在windows下编译thrift C library,用MSV...

2018-05-20 14:20:03

阅读数:203

评论数:0

git submodule update报错: error: Server does not allow request for unadvertised object

周末在家里做了一些工作,周一到办公室,执行git更新办公室电脑上的代码时,报错了 git submodule update –init faceapi-rpc-cpp/dependencies/common_source_cpp/ error: Server does not all...

2018-05-14 13:01:17

阅读数:1157

评论数:2

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