Linux

warning: Creating default object from empty value in /srv/www/blog.sqlitedeveloper.com/www/modules/i18n/i18ntaxonomy/i18ntaxonomy.pages.inc on line 34.

在mac osx上如何编译32位的libx265

注释掉
# if("${CMAKE_SIZEOF_VOID_P}" MATCHES Cool
# set(X64 1)
# add_definitions(-DX86_64=1)
# endif()

否则总是强制编译成64位的library

if(X86 AND NOT X64)
add_definitions(-march=i686)
endif()

在mac osx上应该是
if(X86 AND NOT X64)
add_definitions(-m32)
endif()
另外
if(APPLE)
set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARG1 "-f macho")
elseif(UNIX AND NOT CYGWIN)
应该改成
if(APPLE)
set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARG1 "-f macho -DPREFIX")
elseif(UNIX AND NOT CYGWIN)
否则编译出来的*.o的函数声明没有下划线,C编译的时候会找不到asm的函数

莫名其妙的磁盘空间消失

Ubuntu上突然硬盘空间少了20G,用disk usage analyzer 看不到是什么文件占用了空间.

sudo rm ~/.xsession-errors.old

在64位Ubuntu上安装32位库

apt-get install libssl-dev:i386

在ubuntu上安装boost

参考
http://particlephysicsandcode.wordpress.com/2013/03/11/installing-boost-...

编译32位的boost,需要下面的命令
sudo ./b2 address-model=32 --with=all -j 2 install

将batch批处理移植为Shell脚本

Shell脚本
1.要以#!/bin/bash开头

2.变量引用赋值语句
Shell
a="123"
批处理
set a=123
引用写法,后一种写法在变量和字符串拼接时可以避免歧义
$a 或者 ${a}
批处理
%a%

3.路径名最好都统一成反斜杠

4.判断文件是否存在
批处理
if NOT EXIST %input% (
Shell
if [ ! -f $input ]; then

5.表达式计算
批处理
set /A a2=%a%/2
shell
half=2
let a2=($a / $half)

6.获取系统时间转换为指定格式字符串
批处理
set date=%date: =0%
set adate=%adate:~0,4%%adate:~5,2%%adate:~8,2%
Shell
adate=$(date +"%Y%m%d")

7.遍历文件
批处理
for /f "usebackq" %%i in (`dir /b %dir%\*.txt`) do call :test_file %%~ni %%i
exit /b
:test_file
echo %1
exit /b

Shell
for i in $dir/*.txt; do
id=$i
echo $id

系统备份脚本

sudo rsync -azvv /srv/www/ /home/hubdog/backup
tar -zcvf backup_20130601.tar.gz backup

备份数据库
mysqldump -u root -phubdog2425 --all-databases > /home/hubdog/mysql.sql

unix下运行shell脚本容易遇到的问题

注意语句中要有#!/bin/sh

另外注意文件格式一定要是unix的,否则会报Bad interpreter的错误, 可以用dos2unix来转换

Ubuntu的Unity界面太丑了

忍无可忍,换成cario dock了

安装参见 http://lavafree.iteye.com/blog/1202914

Ubuntu下sudo无法使用自定义Path的问题

Ubuntu下面有一个secure path的特性,每当sudo时,系统会重置path环境变量,导致自定义的path变量无法被使用,解决办法

sudo visudo
添加Defaults !secure_path在Defaults env_reset的后面就可以了。

同步内容