Win7 + VS2015 + CMake3.6.1-GUI编译库

时间:2023-03-09 09:59:06
Win7 + VS2015 + CMake3.6.1-GUI编译库

CMake生成Unicode版本VC工程

Just add this line in your top CMakeLists.txt file:
    add_definitions(-DUNICODE -D_UNICODE)

if(MSVC)
            add_definitions(-DUNICODE -D_UNICODE)
        endif()

基本配置

配置生成库输出目录 ExportDir=F:\Develop\bin\x64
    Add Entry:
        CMAKE_INSTALL_PREFIX F:\Develop\bin\x64\xxx

zlib-1.2.8

修改CMakeLists.txt, 加入字符编码
        if(MSVC)
            add_definitions(-DUNICODE -D_UNICODE)
        endif()
    配置CMAKE_INSTALL_PREFIX参数, 指定头文件及编译包Install目录. ($(ExportDir)\zlib-1.2.8)
    Config –> Generate
    打开zlib.sln进行批生成

OpenSSL-1.1.0b

1. 编译 (Win64默认为 UNICODE, 不需要加 -DUNICODE -D_UNICODE)
        32  $ perl Configure VC-WIN32 no-asm --prefix=F:\Develop\build\OpenSSL
        64    $ perl Configure VC-WIN64A no-asm --prefix=$(ExportDir)\OpenSSL
            perl Configure VC-WIN64A no-asm --prefix=F:\Develop\bin\x64\OpenSSL-1.1
            $ nmake
            $ nmake test
            $ nmake install
    2. 环境变量设置
        OPENSSL_BASE = $(ExportDir)\OpenSSL
        OPENSSL_ROOT_DIR = $(ExportDir)\OpenSSL
    3. 包含目录
        $(OPENSSL_BASE)\include;
    4. 库目录
        $(OPENSSL_BASE)\lib;
    5. 库文件
        libcrypto.lib;libssl.lib;

libssh2-1.8.0

修改CMakeLists.txt, 加入字符编码
        if(MSVC)
            add_definitions(-DUNICODE -D_UNICODE)
        endif()
    配置CMAKE_INSTALL_PREFIX参数, 指定头文件及编译包Install目录. ($(ExportDir)\libssh2-1.8)
        F:\Develop\bin\x64\libssh2-1.8
        关闭test,examples
    Config –> Generate
    打开 libssh2.sln
        为debug输出目标名加上d后缀
        进行批生成
        手动拷贝src/debug目录下的libssh2d.lib到lib目录

curl-7_51_0

修改CMakeLists.txt, 加入字符编码
        if(MSVC)
            add_definitions(-DUNICODE -D_UNICODE)
        endif()
    配置CMAKE_INSTALL_PREFIX参数, 指定头文件及编译包Install目录. ($(ExportDir)\curl-7_51)
        Zlib相关参数, F:/Develop/bin/x64/zlib/lib
        BUILD_RELEASE_DEBUG_DIRS
    Config –> Generate
    打开 CURL.sln进行批生成
    拷贝 Output\lib\Release\libcurl.dll
    拷贝 Output\lib\Debug\libcurl.dll 为 libcurld.dll
    拷贝 Output\lib\Debug\libcurl.pdb 为 libcurld.pdb

glew 2.0.0

打开VC12目录下的glew.sln,升级到VC14
        设置字符集
    使用x64编译 debug, release版本
    拷贝 bin\debug(release)\x64下文件到 $(ExportDir)\glew-2.0.0\bin
    拷贝 lib\debug(release)\x64下文件到 $(ExportDir)\glew-2.0.0\lib
    拷贝 include目录到$(ExportDir)\glew-2.0.0

iconv 1.14

按照http://www.codeproject.com/Articles/302012/How-to-Build-libiconv-with-Microsoft-Visual-Studio说明进行配置
    debug配置->常规-> 目标文件名: $(ProjectName)d
    生成后,把
        debug(release)\libiconv(d).lib拷贝到 $(ExportDir)\lib
        iconv.h拷贝到 $(ExportDir)\include
        debug(release)\libiconv(d).dll(pdb)拷贝到 $(ExportDir)\bin

libxml2-2.9.4

将其中的iconv.h放入$(ExportDir)\bin\include目录中,将其中的libiconv.lib放入$(ExportDir)\bin\lib中,并改名为iconv.lib.(没有相应目录就新建一个)。
    cscript configure.js compiler=msvc prefix=$(ExportDir)\bin  include=$(ExportDir)\bin\include lib=$(ExportDir)\bin\lib debug=yes(no)
    cscript configure.js compiler=msvc prefix=F:\Develop\bin\x64\bin include=F:\Develop\bin\x64\bin\include lib=F:\Develop\bin\x64\bin\lib debug=yes
        手工拷贝文件
    cscript configure.js compiler=msvc prefix=F:\Develop\bin\x64\bin include=F:\Develop\bin\x64\bin\include lib=F:\Develop\bin\x64\bin\lib debug=no
        nmake install

CGAL-4.9

修改CMakeLists.txt, 加入字符编码
        if(MSVC)
            add_definitions(-DUNICODE -D_UNICODE)
        endif()
    配置CMAKE_INSTALL_PREFIX参数, 指定头文件及编译包Install目录. ($(ExportDir)\CGAL)
        F:/Develop/bin/x64/CGAL
        Zlib相关参数, F:/Develop/bin/x64/zlib/lib