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

Win7 + VS2015 + CMake3.6.1-GUI编译库的更多相关文章

  1. Win7 + VS2015 + CMake3.6.1-GUI + Makefile 编译开源库

    CMake生成Unicode版本VC工程 Just add this line in your top CMakeLists.txt file:     add_definitions(-DUNICO ...

  2. OSG Win7 + VS2015 编译

    1. 准备 建立目标树 OpenSceneGraph-VERSION (VERSION替换为版本号) OpenSceneGraph-VERSION\3rdParty (把依赖库放在此目录) http: ...

  3. win7 64位系统下安装autoitlibrary库遇到问题解决

    转载来自http://blog.sina.com.cn/s/blog_53f023270101skyq.html 今天需要在win7 64位系统下安装autoitlibrary库,起初安装好了robo ...

  4. cocos 3.16 生成预编译库模板

    打开模板功能 不知道什么原因,cocos 3.16关闭了模板功能,因此使用cocos -h命令时,无法显示gen-templates参数. 打开的方式也挺简单,打开tools/cocos2d-cons ...

  5. Android Studio中通过CMake使用NDK并编译自定义库和添加预编译库

    Note:这篇文章是基于Android Studio 3.01版本的,NDK是R16. step1:创建一个包含C++的项目 其他默认就可以了. C++ Standard 指定编译库的环境,其中Too ...

  6. 使用预编译库PREBUILT LIBRARY官方说明

    使用预编译库 NDK 支持使用预编译库(同时支持静态库和共享库).此功能有以下两个主要用例: 向第三方 NDK 开发者分发您自己的库(而不分发您的源代码). 使用您自己的库的预编译版本来提升编译速度. ...

  7. Win7 Eclipse 搭建spark java1.8编译环境,JavaRDD的helloworld例子

    [学习笔记] Win7 Eclipse 搭建spark java1.8编译环境,JavaRDD的helloworld例子: 在eclipse oxygen上创建一个普通的java项目,然后把spark ...

  8. 10ISE14.7和modelsim10.5关联编译库

    今天准备在ISE14.7中调用PLL的IP核,搞一下时钟的分频和倍频.可在我做好pll的IP核后,我直接用ise生成了一个仿真文件,只需要修改下例化模块名和加一个时钟就行勒. 问题:但怎么在ISE14 ...

  9. win7 x64 +vs2015 + cmake3.10.3编译opencv-3.4.1+opencv_contrib-3.4.1源码,并进行配置

    简介: 一直以来都是在ubuntu下使用opencv,最近因为有<图像处理与模式识别>这门课,需要使用vs2015+opencv提交课程作业,因为opencv官方编译好的exe没有cont ...

随机推荐

  1. tomcat安全配置之证书密码加密存储

    最近项目组要完成一个新Web Servicer接口的开发,其中有项要求是支持外部客户程序以https方式访问这些SOAP接口.项目组当前基于tomcat6.0.29开发,axis版本为1.4.拿到这个 ...

  2. WSGI是一种编程接口,而uwsgi是一种传输协议

    http://uwsgi-docs.readthedocs.io/en/latest/Nginx.html http://sunxiunan.com/?p=1778 cgi---------fastc ...

  3. google DNS

    DNS 8.8.8.8 然后 C:\Windows\System32\drivers\etc\hosts 108.111.1.1  www.s.com

  4. C#自动实现的属性

    using System; using System.Collections.Generic; using System.Text; namespace 自动属性 { class Program { ...

  5. 模拟接听电话的方法,兼容华为android5.0以上设备

    /** * 通过反射调用的方法,接听电话,该方法只在android 2.3之前的系统上有效. * * @param context */private static void answerRingin ...

  6. Cygwin下安装vim后,vim中退格键无法正常使用

    问题描述: 在Cygwin中安装完vim后 进入vim,发现上下左右键和退格键都无法正常使用 问题分析: 首先考虑到的就是缺少vim的配置文件,首先查看/etc路径下是否有vim的配置文件 admin ...

  7. 多版本uboot命令行分析

    1.1.6 经典版本: 1.uboot第二阶段第一个函数void start_armboot (void),一路gd参数设置.设备初始化.控制台初始化.端口初始化,最后到main_loop ()命令行 ...

  8. access应用分享

    我最近开发了一个winform项目,用的是access数据库,当开发成功以后,有些电脑上就能正常运行,有些电脑就无法读取数据库文件,刚开始我以为是权限问题,后来我把安装程序卸载了,装在其它盘中(非C盘 ...

  9. window nodejs 版本切换 nvmw

    参考文档:https://cnodejs.org/topic/5338c5db7cbade005b023c98 nvmw 下载到本地 git clone https://github.com/hako ...

  10. 20151212Jquery 工具函数代码备份

    $(function () { /*var str=' jquery '; alert(str); alert($.trim(str));*/ /*var arr=['张三','李四','王五','麻 ...