本文是关于cmake 3.12.0 在CenOS7下的安装。
1、安装cmake必要的程序Package:
yum install -y gcc gcc-c++ make automake
2、wget的安装(为了下载cmake源代码):
yum install -y wget
3、使用wget下载CMake源代码:
wget https://cmake.org/files/v3.12/cmake-3.12.0-rc1.tar.gz
4、解压:
tar -zxvf cmake-3.12.0-rc1.tar.gz
5、进入解压之后的CMake源码目录:
cd cmake-3.12.0-rc1
6、执行configue文件:
./configure
如果上面的语句没有出现问题,请直接执行第7步骤,如果出现以下的错误(.so链接错误),请参照以下解决:
可能出现的错误1:
敲重点的时候:如果这一步你没有执行成功,而是出现了类似以下的Error的话,重点看这里:
-- Found ZLIB: /home/machao/anaconda3/lib/libz.so (found version "1.2.8")
-- Found OpenEXR: /usr/lib/x86_64-linux-gnu/libIlmImf.so
CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfig.cmake:27 (message):
The imported target "Qt5::Gui" references the file
"/usr/lib/x86_64-linux-gnu/libEGL.so"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
"/usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake"
but not all the files it references.
Call Stack (most recent call first):
/usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:50 (_qt5_Gui_check_file_exists)
/usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:72 (_qt5gui_find_extra_libs)
/usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfig.cmake:158 (include)
cmake/OpenCVFindLibsGUI.cmake:19 (find_package)
CMakeLists.txt:535 (include)
解决方法(删除原有的so链接,重新建立链接关系):
删除原有的so链接
sudo rm /usr/lib/x86_64-linux-gnu/libEGL.so
重新建立链接关系:
sudo ln /usr/lib/x86_64-linux-gnu/libEGL.so.1 /usr/lib/x86_64-linux-gnu/libEGL.so
可能出现的Error2:
本人当时安装的时候提示的是类似以下的error:
CMake Error at /usr/home/anaconda3/cmake/Qt5Gui/Qt5GuiConfig.cmake:27 (message):
The imported target "Qt5::Gui" references the file
"/usr/lib64/libEGL.so"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
"/usr/home/anaconda3/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake"
这种解决方法类似上面:
删除原有的so链接:
sudo rm /usr/lib64/libEGL.so;
重新建立链接关系:
sudo ln /usr/lib64/libEGL.so.1 /usr/lib64/libEGL.so
7、编译工程:
gmake
8、安装编译之后的cmake工程
gmake install
9、测试是否安装成功:
cmake --version
如果出现cmake版本信息,则正确安装了。