排序:
默认
按更新时间
按访问量

cmake-gui:创建可选列表ComboBoxes

就像一般的程序设计一样,在设计cmake脚本时有时我们希望一个变量的值限定在一个范围内。如下图,cmake-gui中用户可以选择输出日志的级别,肯定我们不希望用户乱输一气。 这时就要用到CACHE 的属性STRINGS # 日志输出级别 set(LOG_LEVEL FL_LOG_DEBUG CA...

2018-10-22 11:19:10

阅读数:7

评论数:0

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

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

2018-10-21 15:29:41

阅读数:17

评论数: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

阅读数:33

评论数:0

cmake/gcc:strip缩减程序体积

方法1 cmake生成的Makefile中有一个target名为intall/strip可以将install的可执行程序执行strip,执行make help,就可以看到 $ make help The following are some of the valid targets for thi...

2018-10-20 14:14:48

阅读数:15

评论数:0

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

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

2018-10-19 10:13:16

阅读数:17

评论数:0

cmake:CMAKE_SYSTEM_PROCESSOR为空是怎么回事儿?

今天执行cmake创建Makefile的时候出了个怪事:CMAKE_SYSTEM_PROCESSOR的值为空 反复测试到到了原因:我在执行cmake时加了参数-DCMAKE_SYSTEM_NAME=Linux cmake . -G "Eclipse CDT4 - Unix Ma...

2018-10-17 11:15:29

阅读数:34

评论数:0

minigui:mgplus交叉编译警告 include location "/usr/include/freetype2" is unsafe for cross-compilation

今天在交叉编译mingui的mgplus组件库时输出了一个警告: mips-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../.. -D__MGPLUS_LIB__ -I.. -I../agg -I../../include -I../agg/font_freetyp...

2018-10-16 15:08:02

阅读数:16

评论数:0

minigui:mips平台交叉编译报错error: include location "/usr/include/" is unsafe for cross-compilation

今天在对minigui做交叉编译,下面是编译的部分脚本 ./configure \ --host=$host \ --with-runmode=ths \ --prefix=$_prefix \ || exit -1 make -j8 || exit -1 如果不做交叉编译,host指...

2018-10-15 15:17:32

阅读数:20

评论数:0

cmake:FindLIBCONFIG.cmake查找libconfig的脚本find_package脚本

libconfig 是一个用于读取,操作和编写结构化配置文件的库。cmake并没有为libconfig提供find_package脚本。所以自己撸一个,实现跨平台的查找libconfig库 FindLIBCONFIG.cmake # - Find libconfig # - This mod...

2018-10-14 15:55:18

阅读数:8

评论数:0

minigui:静态编译连接mgncs库时遇到的xml2的问题

最近做一个基于minigui/mgncs的项目,在开发阶段因为是在ubuntu下基于minigui的模拟器开发,所以编译时都是标准的动态库连接。没啥问题,很顺序。 现在项目功能开发告一段落,要向嵌入式平台移植了,就要把编译改为全静态连接(--static)。问题就来了。 编译正常,连接时报了如下一...

2018-10-14 15:33:09

阅读数:13

评论数:0

cmake:pkg_check_modules(FindPkgConfig)的新特性IMPORTED_TARGET

pkg-config提供了一个统一的接口查询安装库的编译相关信息。它允许程序员和安装脚本工作没有明确详细的库路径信息。 和cmake相比,pkg-config是另一个独立的历史更悠久的library信息描述体系,cmake的FindPkgConfig Module的作用是调用pkg-config查...

2018-10-12 15:56:02

阅读数:11

评论数:0

cmake:macro,function中ARGV,ARGN参数的区别

cmake中的宏(macro)和函数(function)都支持动态参数 变量ARGC记录传入的参数个数 变量ARGV0,ARGV1,...顺序代表传入的参数 变量ARGV则是一个包含所有传入参数的list 变量ARGN也是一个包含传入参数的list,但不是所有参数,而是指macro/functio...

2018-10-12 15:25:38

阅读数:12

评论数: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

阅读数:15

评论数: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

阅读数:33

评论数:0

在Visual Studio 2015下使用pthread win32编译报错

pthread for win32的发行版本中只提供了动态库,今天在Visual Studio 2015下编译pthread for win32(2.9.1),想编译一个静态库,就报一个struct timespec重定义的错误,如下: cl /I. /DHAVE_PTW32_CONFIG_H /...

2018-10-09 14:57:51

阅读数:24

评论数: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

阅读数:22

评论数:0

封装pthread_rwlock读写锁,实现嵌套调用

pthread_rwlock简介 pthread_rwlock 读写锁与pthread_mutex类似,但rwlock允许更高的并行性。mutex只有两种状态:加锁状态,不加锁状态,而且一次只有一个线程对其加锁。 rwlock可以有三种状态:读取模式加锁状态,写入模式加锁状态,不加锁状态。 ...

2018-10-08 17:21:01

阅读数:22

评论数:0

cmake:使用find_package查找libjpeg的静态库

我们知道简单的使用命令find_package可以查找指定的package. 对于经常会用到的 jpeg库turbojpeg,可以用find_package(JPEG REQUIRED)来查找。 find_package(JPEG REQUIRED) if(JPEG_FOUND) message...

2018-10-03 15:35:28

阅读数:47

评论数: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

阅读数:56

评论数:0

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

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

2018-10-02 14:45:53

阅读数:44

评论数:0

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