1. 程式人生 > >跨平臺C++開源碼的兩種經常使用編譯方式

跨平臺C++開源碼的兩種經常使用編譯方式

使用 文件夾 有一種 href dsm ever 源碼 .net log

作者:朱金燦

來源:http://blog.csdn.net/clever101

跨平臺C++開源代碼為適應各種編譯器的編譯,採用了兩種方式方面來適配。一種是makefile方式。以著名的空間數據格式解析庫gdal為例,它就是提供了makefile來供各種編譯器來編譯。

gdal主要提供了微軟的VC編譯器和GNU GCC編譯器兩種格式的makefile,在gdal的源代碼根文件夾能夠找到makefile.vc和GNUmakefile兩個makefile文件。當中makefile.vc為vc編譯器的makefile,GNUmakefile為GNU GCC編譯器的makefile。

還有一種方式是使用CMake軟件。CMake軟件能夠看作是依據源代碼來構建各個IDE廠商的project格式。

CMake是一個開源軟件,CMake支持的部分IDE(編譯器)例如以下圖:

技術分享

從上圖能夠看出CMake能夠支持非常多IDE。

CMake軟件的輸出文件夾習慣是開源代碼根文件夾下的cmake文件夾。

跨平臺C++開源代碼一般至少支持makefile或CMake方式進行編譯,有些兩種都支持。

怎樣推斷一個開源代碼支持哪些方式?一個粗淺的辦法是查看源代碼根文件夾下是否有以makefile命名的文件,假設有,非常可能是支持makefile編譯的,假設源代碼根文件夾下有CMakeLists.txt,應該是支持CMake方式進行編譯。

跨平臺C++開源碼的兩種經常使用編譯方式