文章目录
一些平时开发环境的软件、设定等
Windows
库目录
通常会基于CMake编译一些三方库,例如opencv, glfw, glew, protobuf等。
- cmake时,统一指定
CMAKE_INSTALL_PREFIX
为D:/lib/<PackageName>/<PackageVersion>/
。
例如D:/lib/opencv/3.4.5
,这里面是编译好的东西。 - 对于纯C库,如glfw, glew, freeglut等,通常不需要进入它源码debug,因此只编译Release库。
- 对于OpenCV库,如果测试多个版本,时间来不及的话,直接从官网下载解build目录内容到
D:/lib/opencv/x.y.z
目录,有空则手动编译并替换 - 对于其他C++库,WIP
- 对于安装好后有
bin/xxx.dll
的情况,手动添加此bin
目录到PATH中 - 使用CMake>=3.12版本,使用到某个库的项目中,CMakeLists.txt中用
set(<PackageName>_ROOT D:/lib/<PackageName>/<PackageVersion>)
来配置find(<PackageName>)
。
终端
- cmd,windows自带
- git bash,git各种提示都友好,以及不少linux命令
- PowerShell,默认支持ssh命令
- XShell,GUI界面,管理多个连接,支持rz/sz隔空传文件操作(缺点:收费;一直用个人评估版容易给公司带来法律问题)
- hostbuf,模仿Xshell,做的还可以:http://www.hostbuf.com/
编辑器
- notepad++
- 带“记忆功能”,打开时默认打开上次关闭时打开的文件
- 文件内查找功能强大,单独分割出子窗口显示查找结果,每一结果鼠标双击可跳转到对应行
- 可安装16进制插件,直接查看文件16进制
- vim/gvim
- 带命令模式的编辑器,写短小精悍(不需要查文档)的代码或修改配置文件超级方便
- 配置:https://github.com/zchrissirhcz/dotfiles
- VSCode
- 单个文件编辑:C/C++/Python/Markdown
- 整个工程:例如基于CMake的
ftp-syncRemote Development开发套件超级好用
文本比较、合并
- BeyondCompare: UI好看,功能强大(单文件;目录);收费,破解版有法律风险
- WinMerge:开源免费,作为BC的替代
- VSCode:在打开的工程中比较很方便;缺点是文件过大时diff出错。
- vimdiff: 黑框框下用的
构建系统
- CMake:强烈推荐。个人目前仍然处于不断摸索中,也有不少经验。
IDE/编译器
- Visual Studio 2019/2017/2015/2013
- 我用cmake作为构建系统,直接生成各种VS版本的.sln工程
- TDM-GCC
- 好用的gcc
使用linux下的find/grep等工具
- WSL(Windows Subsystem Linux)
- 除了不能用cuda、不能用DE之外,各种原生linux命令,很好用
Python
用过的方案:
Linux下使用系统自带的python。缺点:不同版本的python切换起来不方便,例如系统是python3.5,实际需要python3.7;不同用户切换起来也不方便。Linux下每个用户使用各自的anaconda。优点是每个人的python不再互相影响。这时候我还不知道可以用conda创建python环境,以为只能用anaconda装好后的那个python环境;发现需要的python版本和anaconda默认的python版本不一致,又去找了anaconda版本和python版本对照表,又下载安装了一个anaconda。Windows下装了python27.exe,发现numpy包需要手动下载,好不容易网络ok下载好了但是编译失败。Windows下装了anaconda2和anaconda3。并且通过环境变量来切换python版本。缺点是装了两个anaconda。- 终极:用miniconda
深度学习很多框架,用了不同版本的python。为了切换不同版本python,最方便的方式是装一个miniconda然后用conda创建相应的python环境:(Linux/Mac/Windows下均可)conda create -n py27 python=2.7; conda activate py27; conda deactivate
。相比于anaconda,miniconda的安装包要小得多。
设置python源:C:/Users/xxx/pip/pip.conf
(windows), ~/.pip/pip.conf
(Linux/Mac):
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
OpenCV
OpenCV的C/C++代码,用源码编译安装,安装到D:/lib/opencv/3.4.5。官方windows预编译包无法debug进opencv源码。
opencv2.4.9手动编译时,无法编译python模块。python2和python3都不行。只能从官方预编译包拷贝过来。
Linux
终端连接
- ssh
配置~/.ssh/config是很方便的一件事情 - tmux
- 多窗口和不惧客户端掉线的训练,都靠tmux了
- 配置:https://github.com/zchrissirhcz/dotfiles/.tmux.conf
- oh-my-zsh
- 注意设定git插件,可能会影响系统速度
CUDA/CuDNN
- 系统可以安装多个版本的CUDA/CuDNN
- 推荐由SA统一安装在系统目录下/usr/local/cuda-9.0等
- 每个用户应当自行配置自己的LD_LIBRARY_PATH来设定/切换CUDA/CuDNN版本
- SA不应该设定全局的/etc/profile或/etc/ld.so.conf.d;除非整个系统只有你一个人用并且基本上不会切换它们的版本
比apt版本要新/旧的软件
- 应当自行安装到
H
O
M
E
目
录
下
的
某
个
子
目
录
,
例
如
HOME目录下的某个子目录,例如
HOME目录下的某个子目录,例如HOME/soft/cmake_3.14,然后修改
~/.bashrc
或~/.zshrc
- 建议手动安装的(编译或者下载安装均可)
- cmake
- ctags
- vim
- 建议走apt安装的
- gcc-4.9(老版gcc/g++)