三方库编译工具汇总

        最近,编译了一把gdal源码,由于依赖度很多(虽然大部分非必选,但还是尽量都编译了一遍),用到的工具也很多,现在整理一下。这里只介绍如何使用这些工具完成三分库的编译,对于使用这些工具来管理项目和代码还未做研究。

1.CMAKE:    

        软件下载:CMake - Upgrade Your Software Build System

        现在绝大部分三方库都提供了cmake编译方式,如果下载的源码中有CMakelist.txt就支持。此工具使用于Windows和Linux平台(有对应的版本),使用方法基本一致。

        界面操作:

        打开cmake-gui.exe界面工具:

三方库编译工具汇总_第1张图片

        安装如上图所标的顺序依次选择源码目录;

        选择构建目录(一般在源码目录下新建一个build目录);

        然后点击构建(Configure);

        选择编译器,windows一般选择vs对应版本,Linux下一般选择GNU make;

        完成后会出现一些编译选项,如果有依赖库未找到需手动指定lib和头文件目录;

        最好选择一个输出目录(非c盘目录),因为默认是生成到系统盘下,后面编译安装如果不是以命令行方式启动vs可能会出现权限问题;

        指定完成后点击Generate,生成对应工程文件(windows : sln文件,Linux生成 makefile);

        如果指定了输出目录可直接点击打开项目,如果是默认的需要手动以管理员身份打开项目;

        选择build-all编译,编译完成后编译Install;

        命令行使用:

  cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_INSTALL_PREFIX="D:\zlib-1.3" ..

        如果需要找依赖,可简单了解find_package,可在cmakelist.txt中添加如下:

        set(libicd_DIR "D:/libicd/cmake")

        find_package(libicd CONFIG REQUIRED)

2.NMAKE:

        nmake是vs自带的编译工具,一般只能在Windows下使用,如果源码中有Makefile.msc文件或者Makefile.vc文件可使用nmake编译:

        nmake /f makefile64.vc

        nmake /f makefile64.vc install

3.GNU Makefile:

         一般用于Linux下源码编译,使用方法简单:

        ./configure

        make 

        make install

4.Cygwin:

        有些库没有提供可直接在Windows下编译的方式,这时可借助Cywin工具,打开先设置编译环境(需要哪些工具和依赖库),然后它其实就是一个可以访问Windows目录的Linux虚拟机,可以用Linux下的编译方式编译生成dll动态库。

        但是对应生成的静态库是.a文件,与Windows下常用的lib静态库不同,导致被依赖时无法链接。当然也有转换的方法,但大多都比较繁琐,所以这种工具并不推荐(鉴于我本人对其了解不足的情况下)。 

5.MinGW:

        MinGW就是GCC 的 Windows 版本 。

        使用方法在后续遇到实际情况时再介绍。

6.vs

        windows下最常用的工具 

7.qt

        qt中带有qmake编译工具,也可跨平台编译,前提是得有工程文件(.pro/.pri) 

8.vcpkg

        在Windows下的,需要联网的自动编译工具,前提是有对应的三方库和版本,可自动下载依赖的库和源码自动完成编译,非常方便。

        总结

        Linux下直接使用GNU MAKE即可;

        Windows下优先使用cmake,如果没有根据实际情况和条件选择合适的工具。

        后续将以gdal为例编译其所有依赖库。 

你可能感兴趣的:(c++,三方库编译,gnu,qt,vs,cmake,三方库编译)