C++程序在linux下的编译和安装

最近需要在非root权限的情况之下安装一个kytea分词器,搞了好久,所以把遇到的问题都总结一下。

首先说C++程序的编译和安装是一个大学问,这里涉及到的是比较传统的./configure,make,make install三部曲。不过似乎用cmake编译的话,步骤也差不多。

因为是非root权限,无法访问/usr/local文件夹,所以需要在./configure的时候指定安装目录。这里建议直接在本目录下建一个目录叫做build,然后执行如下命令:

./configure --prefix==/path/to/your/build

接下来执行make和make install即可。

安装好之后,还不能直接用,需要修改用户主目录下的.bashrc文件,否则执行程序的时候会告诉你找不到命令。以kytea为例,需要修改下面两项内容:

export PATH=/path/to/your/build/bin:$PATH
export LD_LIBRARY_PATH=/path/to/your/build/share:$LD_LIBRARY_PATH

第一行是为了敲命令的时候不需要把程序的全部目录都打一遍,第二行是因为如果不添加这一行的话有些库可能找不到。(注意省略号的意思是多个目录并列。你得把本来的$PATH也带上,不然会出问题。)

然后执行source .bashrc,就可以使用下载好的程序了。

如果程序编译出现问题,然后想要修改后重新编译的话,只需要把build目录删除了,重新建一个空的,然后执行下面这条命令:

make clean

这条命令会把之前make生成的一些中间文件都删除掉。然后正常make,make install就可以了。

你可能感兴趣的:(C++程序在linux下的编译和安装)