自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 git 配置多个ssh key

最近多个项目需要为不同的git配置不同的ssh key。以添加多个github的ssh key为例。创建多个ssh key创建一个ssh key$ ssh-keygen -t rsa -C "2email@github.com” -f ~/.ssh/id_rsa_personal创建第二个ssh key,命令相同,但有一点不同$ ssh-keygen -t rsa -C "1emai...

2019-05-21 19:44:15 379

转载 C++ 测试驱动开发

看到一篇非常好的C++测试驱动开发文章,这里转载下。测试驱动开发(TDD)背景及综述测试驱动开发是 Kent 提出的一种新的软件开发流程,现在已广为人知,这种开发方法依赖于极短重复的开发周期,面对开发需求,开发人员要先开发代码测试用例,这些代码实现的测试用例定义了工程要实现的需求,然后去开发代码快速测试通过这这些用例,这个时候的代码是相对比较粗糙的,只是为了通过这个测试,测试通过以后,这些测试...

2019-05-18 09:10:27 1078

原创 CMAKE_MODULE_PATH 与 CMAKE_PREFIX_PATH

两个cmake参数很像,查看了官方文档CMAKE_PREFIX_PATH是以分号分隔的列表,供find_package(), find_program(), find_library(), find_file()和find_path()使用,初始为空,由用户设定CMAKE_PREFIX_PATH 官方链接CMAKE_MODULE_PATH是以分号分隔的列表,供include()或 find_...

2019-05-15 18:12:50 23860

原创 cmake+gtest

项目中想用google test,项目也是用cmake管理的。于是想用cmake 添加gtestset(CMAKE_PREFIX_PATH "/path/to/gtest/install/path/cmake/path" ${CMAKE_PREFIX_PATH}) enable_testing() set(GTEST_ROOT "/path/to/gtest...

2019-05-15 18:08:05 5351

原创 boost.log遇到问题及解决办法

尝试将 Boost.log v2 集成到代码里,在win10+vs2017. 编译 x64版本。c2672问题测试代码如下:#include <boost/thread/mutex.hpp>#include <boost/core/null_deleter.hpp>#include <boost/log/common.hpp>#include &lt...

2019-05-14 22:28:30 1159

原创 boost LNK2005 重定义错误

开发的库使用了boost库,然后出现如下错误:libboost_system-vc141-mt-gd-x64-1_68.lib(error_code.obj) : error LNK2005: "class boost::system::error_category const & __cdecl boost::system::detail::generic_category_ncx(v...

2019-05-14 16:19:34 1915

原创 vs2017 编译 动态 x64 boost

下载Boost我下载了最新的1.70版本解压到英文目录${path},最好路径中也没有空格生成编译项目从“开始菜单”中,找到适用于vs2017 的x64本机命令工具进入到````${path}```执行bootstrap.bat配置编译参数打开project-config.jam文件,设定vs2017的toolset,其中的cl.exe目录应该是固定的。注意vs2015的V...

2019-05-14 14:18:37 746

原创 boost.log教程:设计介绍

boost的设计图如下:这个图流程比较清晰,但数据细节上不够,我重新画了一个Boost.log设计与log4j相似:用Logger输入数据,输入的数据配合设置的属性即为log recordLog record经过过滤和format到达最终的sink,输出到console/文件等位置Logger和sink不绑定,数据输入后完全根据规则经logging core分配到对应的sink...

2019-05-13 12:37:42 749

原创 boost.log教程:formatting

常用formatting默认不设置formatter,所有添加的attribut都不会在log record中出现添加时间戳的formatingvoid init(){ logging::add_file_log // 等价于设置了file_sink,也可以手工分别建frontend_sink和backen_sink ( keywords::file_na...

2019-05-13 11:33:35 1515

原创 boost.log教程:filter

filterfileter添加条件BOOST_LOG_ATTRIBUTE_KEYWORD(line_id, "LineID", unsigned int)BOOST_LOG_ATTRIBUTE_KEYWORD(severity, "Severity", severity_level)BOOST_LOG_ATTRIBUTE_KEYWORD(tag_attr, "Tag", std::stri...

2019-05-13 11:26:14 602

原创 boost.log教程:core facilities

Logging recordslogging record中的所有信息,包括message text,都会被filters, formatters 和 sinks处理。logging record特性:不能复制,只能被移动boost::move()。它由logging core在filter之后创建,此时内容为空,随后attribute value会由attribute生成并添加到log ...

2019-05-13 11:23:44 479

原创 boost.log 教程:sink

直接使用trivial logging 很多时候无法满足需求,比如有时想定义些特定的标签,写到特定的文件,这时就要用到sink。sink应该只在应用程序的开始设置如果没有设定sink,系统会生成默认的,是输出到console,但如果用户自己指定了,那么默认的sink不再生效使用file sink简单示例:void init(){ logging::add_file_lo...

2019-05-12 15:42:27 2401 3

原创 boost.log教程:loggers

logger是用户接触最多的类可分为无保护和线程安全两类,线程安全的以_mt结尾logger有窄字符和宽字符的,宽字符的以w开头,如wlogger_mtlogger类可复制,可创建的,可作为自定义类的成员boost.log提供多种logger,参见网页直接使用如下即可:#include <boost/log/trivial.hpp>int main(int, ch...

2019-05-12 10:36:05 2423

原创 Boost.log 教程:attribute

attribute说明:attribute是函数,attribute_value是attribute产生的值,如TimeStamp可用于之后的filtering和formatting分global、thread-specified和logger-specified 3类,第一类最常用所有已有值都在attrs::xxx可使用logging::add_common_attributes(...

2019-05-11 23:41:18 1228

原创 C++ 部分warning的解决办法

C++的warning可以不管理,但遇到极特殊的情况,可能会出bug,比如double转int。本贴记录一些C++ warning的解决办法Deprecated implicitely-declared copy constructor如果定义了析构函数,那么会提示此warning,提供复制构造函数可解决此问题。解决办法:class A{public: A(){} A(cons...

2019-05-07 16:04:51 1581

原创 CMAKE 变量管理

变量分类CMake的变量有其作用域,分全局作用域和局部作用域。局部作用域变化:1.在切换目录(即CMakeLists.txt变化)2.调用函数时变化3.macro不改变作用域。局部变量设置变量set(<variable> <value>... [PARENT_SCOPE])如set(<var "ABC" PARENT_SCOPE) # PAREN...

2019-05-05 15:59:57 6100

原创 CMAKE_INSTALL_PREFIX无效的解决方案

今天写一段cmake脚本,使用了变量CMAKE_INSTALL_PREFIX,命令如下:SET(CMAKE_INSTALL_PREFIX <path> )但无论怎么调整这行代码的位置,就是不好使,CMAKE_INSTALL_PREFIX还是指向默认目录。于是google查找,最终找到了解决方案帖子大致意思:直接使用set命令,访问的变量是基于PROJECT命令,这样的变量可能...

2019-05-02 14:24:10 9685

OSG3.4.0编译完成版本(vs2015,x86)debug+release

使用vs2015编译好的OSG3.4.0,x86,debug+release

2016-11-17

OSG3.4.0依赖库编译完成版本(vs2015,x86)

OSG3.4.0官方给出依赖库的编译版本(vs2015,x86) https://github.com/bjornblissing/osg-3rdparty-cmake

2016-11-17

OSG3.4.0依赖库编译完成版本(x86)

OSG3.4.0官方给出依赖库的编译版本(x86) https://github.com/bjornblissing/osg-3rdparty-cmake

2016-11-17

OSG3.4.0依赖库所有源代码及cmake编译工程下载

OSG3.4.0官方给出编译所需的依赖库的源代码,及官方给出的cmake编译工程。 https://github.com/bjornblissing/osg-3rdparty-cmake 注,curl需要自行使用curl的cmake工程编译,否则会提示找不到合适的编译器。

2016-11-17

depends.exe

查看windows下dll文件的依赖库,黄色图标代表没找到相关文件。以后再遇到新的库,找依赖库能省下不少时间了

2013-05-09

git-for-windows-1.8.1.2

Git is a powerful version control system aiming to be the fastest decentralized source code management tool on this planet. 在使用一些开源包时,经常遇到 git clone http://... 使用这个工具就对了

2013-05-08

vs2010+openGL绘制任意阶Beizer

vs2010+openGL绘制任意阶Bezier曲线 操作: 左键点击空白处,加新点 左键点击点,选中点,然后可拖动 右键点击点,删除点 键‘c'清除已画的曲线 ‘q’退出

2011-11-08

空空如也

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

TA关注的人

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