logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

GCC编译静态库的-fPIC选项

GCC编译静态库的-fPIC选项背景通常在linux下用gcc编译动态库时都会加上一个-fPIC选项来生成位置无关代码,但是从来没有人明确的说过是不是要在编译静态库时也加上-fPIC选项。我在这篇文章中就给出一个明确的结论并讲述原理。介绍-fPIC的原理的文章网上汗牛充栋这里不再赘述。原理分析众所周知,静态库其实是一系列.o文件的打包,将.o文件制作成静态库的过程是不会发生链接的。所以链接静态库就

#linux
linuxshell脚本获取并进入当前目录

linuxshell脚本获取并进入当前目录在linux的shell中经常需要进入脚本当前所在的目录,以其为基准使用相对路径,那么怎样获取到这个路径呢?linux的shell中并没有一个变量能直接代表这个路径,需要自己使用命令来构造。path = $(cd `dirname $0`;pwd)这条简单的命令就可以进入当前的路径,并且将路径值存在变量里。- 首先是使用反引号包起来的dirname

#linux
msbuild编译qt界面文件出现Moc'ing文件,系统找不到指定路径问题

这几天link引入了qt,开发都没问题,但是jenkins上用msbuild总是编译失败,原因是“Moc’ing xxx文件,系统找不到指定路径”在jenkins服务器上直接用msbuild也是失败,但是在jenkins服务器上用vs打开项目编译过一次就好了。但是jenkins每次的编译时最好都清理一遍。所以这个问题还是没彻底解决。今天花了些时间研究了一下这个问题,最后发现是少上传了一个文件

#qt#visual studio
qtmain.lib 分析

qtmain.lib 分析本文所使用的qt版本为5.7.0,编译器为vs2013背景在vc下使用qt的库时候,会发现有一个qtmain.lib的静态库,其他的qt库都是以动态库的形式提供的,只有这个是以静态库提供的,并且发现只有windows下的库会有这个,linux的库里并没有相应的库。那么这个库是必须使用的吗。在使用时会发现,有时候不链接这个库就会造成链接失败,但是有时候不链接这个库也没什么

#qt
spring mvc @Transaction注解不生效的解决

spring的注解极大的方便了配置bean,将以前繁琐的工作简化,其中使用@Transaction注解进行事务管理更是方便,网上和各种书籍中讲解@Transaction注解使用方法的文章更是数不胜数,可是大都千篇一律,而且只是针对事务进行配置,而实际项目中,整个框架中各个功能模块要配合协作才行。这时就会发现@Transaction注解一旦和其他注解配合使用就会失效。网上几乎找不到对此问题的解决

使用libmp3lame库编码mp3

lame是一个有名的开源mp3编码库,但是目前网上使用lame库的教程基本都是直接贴一篇代码,没有任何的解释,而每个使用者需要编码的需求都不一样,这些所谓的教程基本没什么作用。这篇文章将会介绍如何调用lame库的接口编码出mp3。不同于目前网上的大多数lame教程,本文不会干巴巴的贴一屏幕代码,而是尽量对lame库提供的各种参数设置的接口做讲解。让读者能够举一反三,根据自己的需求编码出各种格式的m

openh264使用指南

openh264使用指南概述目前openh264官网只有一些问答,关键的开发资料全在github页的的wiki页面(https://github.com/cisco/openh264/wiki)同样官方的二进制库也在github页的release页面上提供下载(https://github.com/cisco/openh264/releases)此文章所述皆为windows平台,其他平台使用类似。

到底了