赞
踩
ubuntu 快捷键:
Alt + Tab 切换不同应用, Alt + ` 切换相同应用
ubuntu 安装软件 sudo apt install libjpeg 按Tab显示匹配
apt search libjpeg 查找匹配
apt-file 查找头文件所在库
libtool | automake | autoconf | net-tools
sudo apt-cache search x11-dev
make -n
先把apt-file装上并更新一下数据
apt-file search 'xcb/xcb_image.h'
在win下编辑的时候,换行结尾是\n\r , 而在linux下 是\n,所以才会有 多出来的\r
sed -i 's/\r$//' configure
查看某个库是否安装命令:
ldconfig -p | grep pcap
cario 入门
https://www.cairographics.org/FAQ/#compilation_flags
cc -o hello $(pkg-config --cflags --libs cairo) hello.c
pkg-config --cflags --libs cairo
1)在/tmp中查找所有的*.h,并在这些文件中查找“SYSCALL_VECTOR",最后打印出所有包含"SYSCALL_VECTOR"的文件名
A) find /tmp -name "*.h" | xargs -n50 grep SYSCALL_VECTOR
B) grep SYSCALL_VECTOR /tmp/*.h | cut -d’:' -f1| uniq > filename
C) find /tmp -name "*.h" -exec grep "SYSCALL_VECTOR" {} \; -print
命令行\桌面模式切换
Alt+Ctrl+F3 打开命令行
Alt+Ctrl+F1 打开图形桌面模式
sftp 配置 https://blog.csdn.net/yanzhenjie1003/article/details/70184221/
zip -r xxx.zip ./*
命令行启动桌面
startx或者init 5
一般这两个命令是进入图片界面的
To reconfigure, run 'make confclean' and 'configure'.
清除配置
make distclean
配置储存文件
Info: creating stash file .stash
config.cache
多线程: make -j4
$ echo "libc_cv_forced_unwind=yes" > config.cache
$
${GLIBC_DIR}/configure [options] --cache-file=config.cache
uname -a 查看系统版本
sudo apt-get install libegl1-mesa libgles2-mesa
//重新安装桌面
sudo apt-get update
sudo apt-get install --reinstall ubuntu-desktop
sudo apt-get install unity
sudo shutdown -r now
g++ 链接顺序有关系,有向后查找依赖的特点
查看导出函数
nm -D /lib64/libharfbuzz.so.0 | grep FT_Get
U FT_Get_Advance
T FT_Get_Char_Index
U表示外部符号,T表示内部符号
readelf -d xxx(目标文件/命令) 查看xxx使用的动态库
依赖关系:
将依赖的包及相应的软连接拷贝到部署机的任意目录下,并设定环境变量LD_LIBRARY_PATH,这些依赖包列表可以通过ldd命令查询
解决qt5无法输入中文 fcitx :
下载 https://github.com/fcitx/fcitx-qt5
CMake配置,依赖:
cmake fcitx-qt5时报错
"ECM": 解决: sudo apt install extra-cmake-modules
Qt5Config.cmake 解决: Add the installation prefix of "Qt5" to CMAKE_PREFIX_PATH or set "Qt5_DIR"
复制自动确认不替换
shell>awk 'BEGIN { cmd="cp -ri a1/* a2/"; print "n" |cmd; }'
查看进程加载模块
# cat /proc/12345/maps | awk '{print $6}' | grep '\.so' | sort | uniq
编译工具
sudo apt-get install build-essential
gtk-2.0
sudo apt-get install libgtk2.0-dev
cairo2
sudo apt-get install libcairo2-dev
安装SDL2_image使用的图像开发库
sudo apt install libjpeg-dev
sudo apt install libwebp-dev
sudo apt install libtiff-dev
SDL2,SDL2_Image 自己编译
在SDL2解压目录使用如下命令安装:
mkdir build && cd build && ../configure CFLAGS='-fPIC' && make && sudo make install
SDL2_Image编译安装
mkdir build && cd build && \
../../SDL2_image-2.0.4/configure CFLAGS='-fPIC' LDFLAGS="-Wl,-rpath=\'\$\$\ORIGIN\'" \
&& make && sudo make install
Qt
sudo apt-get install io.qt.qtcreator 或 qtcreator
sudo apt-get install qt4-default
sudo apt-get install qt5-default
CMAKE工具
sudo apt-get install cmake
cmake使用方法:
mkdir build && cd build && mkdir OfdParser && cd OfdParser && cmake ../../OfdParser && make && sudo make install
编译输出时指定rpath = $ORIGIN(应用程序、库 可在同文件夹查找依赖库文件)
../configure CFLAGS='-fPIC' LDFLAGS=-Wl,-rpath=\'\$\$\ORIGIN\'
QMAKE_LFLAGS += -Wl,-rpath,\'\$\$ORIGIN\'
Qt设置插件所在文件夹\目录
QApplication aApp(argc,argv);
QApplication::setLibraryPaths(QStringList(QCoreApplication::applicationDirPath()+"/plugins/"));
在调用 QCoreApplication::applicationDirPath() 前,必须先创建一个 QApplication的对象
UOS下遇到的libcurl库运行时报错问题目前的解决方法:
可能原因:suwell数科阅读器运行时会自动加载阅读器目录的 libcurl.so.4
此库与libAztNet使用的libcurl.so.4、libssl.so.1.1、 libcrypto.so.1.1可能冲突
解决方法:
1、复制系统的libcurl.so.4等三个库出来到一个单独的文件夹,并修改名字为 libM*.so(添加一个M代表自己用的库)。
2、利用patchelf工具(可由命令行安装)修改此三个库的 SONAME、依赖库名称、rpath 如下方法:
patchelf --set-soname libMcurl.so.4 libcurl.so.4
patchelf --set-rpath /opt/DZQZ/lib libcurl.so.4
patchelf --replace-needed libcurl.so.1.1 libMcurl.so.1.1 libMcurl.so.4
查看SONAME、依赖关系的方法: readelf -d 库文件名
查看库中符号 nm -D 库文件名
3、编译的时候 makefile 链接库的选项使用: -lMcurl
GCC添加ORIGIN路径:
g++ LDFLAGS="-Wl,-rpath=\'\$\$\ORIGIN\'" \
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。