自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (3)
  • 收藏
  • 关注

原创 cmake:环境变量(environment variable)读写和if判断

cmake中对环境变量读写都是通过ENV前缀来访问环境变量 读取环境变量则要使用 $ENV{JAVA_HOME}这样的格式 写环境变量如下:set( ENV{PATH} /home/martink )if语句判断环境变量是否定义要用下面的格式if(NOT DEFINED ENV{JAVA_HOME}) # 没有找到JAVA_HOME环境变量 message(FATAL_ERRO

2016-06-27 17:08:23 46967 1

原创 cmake:EXCLUDE_FROM_ALL的用处

cmake 的add_library,add_executable,add_subdirectory等命令都有一个EXCLUDE_FROM_ALL参数. 这个参数的作用根据cmake官网的解释就是如果某个target或subdirectory被设置为EXCLUDE_FROM_ALL属性,那么这个target(或这个subdirectory中的所有target)就会被排除在all target列表之

2016-06-25 17:09:34 13098

原创 cmake设置msvc的运行库(runtime library)塈指定openjpeg使用静态库

cmake这个跨平台的make工具功能已经很强大了,但它也有不足的地方,就是本文的标题。 在用cmake生成NMake的Makefile或visual studio的.sln时,如何指定运行库(/MD /MT)? 原本,我以为可以在CMAKE的手册中找到一个command或PROPERTY或VARIABLE,简单的调用或设置一下就可以了,很遗憾,把整个CMAKE manual翻了几遍也没找到,没

2016-06-22 17:04:11 7549

原创 nmake(vs2015)命令行编译libjpeg-turbo(x86/amd64)

很久之前写过一篇博客《mingw(gcc)编译libjpeg-turbo》,介绍了windows下用mingw编译libjpeg-turbo的过程。 当时对cmake的使用并不非常熟悉,对msvc的命令行编译也不在行,所以还不会用msvc编译libjpeg_turbo源码,所以只能从暂时libjpeg_turbo的官网(http://libjpeg-turbo.virtualgl.org/)下载...

2016-06-22 11:50:12 6958 3

原创 cmake:设置编译选项的讲究(add_compile_options和CMAKE_CXX_FLAGS的区别)

在cmake脚本中,设置编译选项可以通过add_compile_options命令,也可以通过set命令修改CMAKE_CXX_FLAGS或CMAKE_C_FLAGS。 使用这两种方式在有的情况下效果是一样的,但请注意它们还是有区别的: add_compile_options命令添加的编译选项是针对所有编译器的(包括c和c++编译器),而set命令设置CMAKE_C_FLAGS或CMAKE_CX

2016-06-22 09:53:48 121426

原创 msvc/gcc:中用#pragma指令关闭特定警告(warning)

在使用一些第三方库或源码的时候,经常会遇到编译时产生warnings情况,这些warning不是我们自己的代码产生的,当然也不好去修改,但每次编译都显示一大堆与自己代码无关的警告也着实看着不爽,而且还有可能造成自己代码中产生的警告被淹没在多过的无关警告中,而被忽略掉的情况。 所以要想办法关闭这些第三方代码和库产生的警告。 关闭特定的warning可以在编译时通过命令行参数的方式指定,比如 gcc

2016-06-21 14:03:20 13196 1

原创 msvc交叉编译:使用vcvarsall.bat设置命令行编译环境

一直以来我只知道vc设置命令行编译环境的批处理命令是%VS140COMNTOOLS%/Common7/Tools下的vsvars32.bat,(%VS140COMNTOOLS%为定义vs2015公共工具程序位置的环境变量,命令行窗口输入set就能找到,vs2010的对应定义为%VS100COMNTOOLS%) 微软的官网上有这个命令的说明: https://technet.microsoft.c

2016-06-20 18:06:04 11365

原创 cmake:install制作简单的安装脚本

当我们制作用于二次开发的SDK的时候,用cmake的install命令制作一个安装脚本提供简单的SDK安装功能,在make结束后自动把文件分类放在不同的目录下,提供给用户,比只是把.h,.lib,.dll文件一股脑的复制给用户,让用户自己去配置要好得多。 下面的cmake脚本片段,展示了用cmake install命令实现的简单安装功能:########安装脚本########### 将生成的t

2016-06-19 12:46:47 13499

原创 LNK2019:win32下编写DLL,应用程序找不到DLL接口函数的一种情况

最近项目技术研究结束,开始代码封装,产品最终是以动态库的形式发布,于是开始整理代码,把原来以静态库方式编译的函数库改为动态库编译,动态库编译正常。 然后用编译测试程序(调用动态库的函数)时报错了, 2>test_detect.obj : error LNK2019: 无法解析的外部符号 “_declspec(dllimport) void __cdecl gdface::set_global_

2016-06-14 14:25:16 2190

原创 opencl:异步复制函数的注意事项(async_work_group_copy/async_work_group_strided_copy)

OpenCL中的内置函数async_work_group_copy和async_work_group_strided_copy用于实现全局内存(global memory)和本地内存(local memory)之间的异步数据复制,在某些情况下,使用异步复制(async copy)的方式在全局内存和本地内存之间复制数据比直接赋值的方式要方便。 下面是async_work_group_copy的函数说

2016-06-11 13:21:05 3386 2

原创 基于OpenCL的图像积分图算法改进

简单往要付出代价,这个代价可能很大,在opencl环境下编程,与我们在CPU上的传统编程思想有一些差异,这些差异看似微不足道,但往往细节决定成功,就是这些看似微不足道的差异导致同一种算法在GPU和CPU运行效果有着巨大的差别 之前写过一篇文章《基于OpenCL的图像积分图算法实现》介绍了opencl中积分图算法的基本原理(不了解积分图概念的朋友可以先参考这篇文章),并基于这个基本原理提供了kern

2016-06-08 10:25:01 5210 14

CMake脚本在ultraedit中的语法高亮支持

资源来自CMake官网: http://www.cmake.org/Wiki/images/5/56/UltraEditWordfile.tar.gz, 但这个链接已经无法访问,从历史快照中找加,上传备份 参见使用方法参见:https://blog.csdn.net/10km/article/details/52368486

2023-06-08

erpcgen-windows-x86_64.zip

用cygwin编译的erpcgen,可以windows下直接通过IDL编译生成client/server端(C++)代码,有cygwin的童鞋也可以自行编译,很方便的。 erpc git仓位置: https://github.com/EmbeddedRPC/erpc

2020-09-17

windows下MSVC兼容的dirent.h

<dirent.h>是一个应用程序接口,主要用于文件系统的目录读取操作,主要提供了几个目录数据读取函数,<dirent.h>是unix系统下常见的接口,但windows平台的MSVC编译器并没有提供这个接口( Cygwin5 and MingW现在已经提供了dirent接口),对于跨平台的项目开发就会带来一些麻烦,如果在MSVC下编译时可能因为windows平台缺少这个接口就要为windows平台另外写一些代码。本资源是从网上找的,提供了windows下为MSVC实现的dirent.h接口实现,方便跨平台开发和移植。

2016-03-31

libb64--base64编码解码库

libb64是实现base64编码解码的开源库,还提供了C++封装,用起来挺方便

2016-03-31

空空如也

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

TA关注的人

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