我正在尝试在我的 C++ 项目中使用 ICU Unicode。
我已经从以下位置下载了库here,然后通过以下方式链接它们:
- 将 lib64 目录添加到属性 -> 链接器 -> 常规 -> 其他库目录
- 将所有 .lib 文件的名称添加到“输入”选项卡中。
然后我#include“ucnv.h”,然后构建并运行。
该程序构建良好,但我收到此错误消息,指出我需要将 DLL 放在 exe 旁边。
我这样做了,而且运行得很好。我的问题是
如何将 ICU 静态链接到我的项目?
我尝试过的
我尝试从 github 下载 Master,并打开 allinone.sln 文件,然后设置以下内容:
- 发布和 x64
- 将输出从 DLL 更改为静态库
- 将 U_STATIC_IMPLMENTATION 添加到所有项目预处理器
然后,我重新构建,然后将每个项目发布目录添加到项目属性的“其他库目录”部分,然后还将库的名称添加到“输入”部分。
现在这实际上适用于 UTF-8,however,对于另一种编码,例如 Big-5,大多数函数(基本上是所有必需的函数)都返回 NULL。
另外,使用静态库的另一个原因是我下载的 DLL 超过 16MB,太大了。在 ICU 文档中,他们甚至说他们建议使用静态链接来减小大小(通过删除不需要的链接)
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)