我是靠谱客的博主 风中玫瑰,最近开发中收集的这篇文章主要介绍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", "xe5xaex8bxe4xbdx93", "xe5xaex8bxe4xbdx93"},

"xe5xaex8bxe4xbdx93"为宋体汉字的utf8编码。

最后

以上就是风中玫瑰为你收集整理的Windows下使用CMake编译xlnt的全部内容,希望文章能够帮你解决Windows下使用CMake编译xlnt所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部