Windows下使用CMake编译xlnt

xlnt是开源的内存中读、写xlsx文件的C++库。

官网下载源码,https://github.com/tfussell/xlnt。当前最新版是1.4,但是我下载的是xlnt-master.zip。

官网下载CMake,https://cmake.org。当前最新版3.17.0-RC2。下载完成后,安装,记得将cmake路径添加系统变量中PATH中然后在命令行中可以直接调用cmake。

控制台,进入到源码所在目录然后执行以下指令:

mkdir build

cd build

cmake ..

//上面的指令,我在Windows 10+Visual Studio 2017 + SDK 10.0.17763.0中成功执行。CMake 3.15,xlnt 1.3.0的版本。

但是当前的操作系统是Windows 7,使用上面的指令出现错误,找不到ucrtd.lib。实际上就是找不到编译器。

cmake 版本更换为3.15,3.16,3.17都不好用。最后将3.15和3.16卸载,安装3.17。

从网上查资料,但是不好用。通过他的文档修改网上查找到的方法ok。

记录如下:

cmake -DCMAKE_SYSTEM_VERSION:STRING="10.0.17763.0" .. 

网上的写法:

cmake -DCMAKE_SYSTEM_VERSION=10.0.17763.0

但是有成功了一次,再执行就不好用了。

cmake -DCMAKE_SYSTEM_VERSION:STRING="10.0.17763.0" .. 

从文档中查找到,-D 指定变量的值。CMAKE_SYSTEM_VERSION 指定sdk版本或者说系统的版本。:STRING 指定类型。后面用双引号括起来值。

注意以下问题:

1.中文问题,将中文转换为UTF8 string后直接赋值

char tempArray[128];

WideCharToMultiByte(CP_UTF8, 0, _T("中国"), -1, tempArray, _countof(tempArray), nullptr, nullptr);

2.默认字体问题,原版中文默认的字体不是宋体,修改源码改为宋体。

打开源码xlsx_producer.cpp文件第1772行,将字体修改为如下:

 {false, "Hans", "\xe5\xae\x8b\xe4\xbd\x93", "\xe5\xae\x8b\xe4\xbd\x93"},

"\xe5\xae\x8b\xe4\xbd\x93"为宋体汉字的utf8编码。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值