在 Windows 上静态链接 ICU

2023-12-14

我正在尝试在我的 C++ 项目中使用 ICU Unicode。

我已经从以下位置下载了库here,然后通过以下方式链接它们:

  1. 将 lib64 目录添加到属性 -> 链接器 -> 常规 -> 其他库目录
  2. 将所有 .lib 文件的名称添加到“输入”选项卡中。

然后我#include“ucnv.h”,然后构建并运行。

该程序构建良好,但我收到此错误消息,指出我需要将 DLL 放在 exe 旁边。

我这样做了,而且运行得很好。我的问题是

如何将 ICU 静态链接到我的项目?

我尝试过的

我尝试从 github 下载 Master,并打开 allinone.sln 文件,然后设置以下内容:

  1. 发布和 x64
  2. 将输出从 DLL 更改为静态库
  3. 将 U_STATIC_IMPLMENTATION 添加到所有项目预处理器

然后,我重新构建,然后将每个项目发布目录添加到项目属性的“其他库目录”部分,然后还将库的名称添加到“输入”部分。

现在这实际上适用于 UTF-8,however,对于另一种编码,例如 Big-5,大多数函数(基本上是所有必需的函数)都返回 NULL。

另外,使用静态库的另一个原因是我下载的 DLL 超过 16MB,太大了。在 ICU 文档中,他们甚至说他们建议使用静态链接来减小大小(通过删除不需要的链接)


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Windows 上静态链接 ICU 的相关文章

  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 在哪里可以找到列出 SSE 内在函数操作的官方参考资料?

    是否有官方参考列出了 GCC 的 SSE 内部函数的操作 即 头文件中的函数 除了 Intel 的 vol 2 PDF 手册外 还有一个在线内在指南 https www intel com content www us en docs in
  • 为什么当实例化新的游戏对象时,它没有向它们添加标签? [复制]

    这个问题在这里已经有答案了 using System Collections using System Collections Generic using UnityEngine public class Test MonoBehaviou
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • C#中如何移动PictureBox?

    我已经使用此代码来移动图片框pictureBox MouseMove event pictureBox Location new System Drawing Point e Location 但是当我尝试执行时 图片框闪烁并且无法识别确切
  • 显示UnityWebRequest的进度

    我正在尝试使用下载 assetbundle统一网络请求 https docs unity3d com ScriptReference Networking UnityWebRequest GetAssetBundle html并显示进度 根
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • teracopy 如何替换默认的 Windows 副本

    我问了这个问题Windows 文件复制内部结构 动态加密 https stackoverflow com questions 24220382 windows file copy internals on the fly encryptio
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • C# 模拟VolumeMute按下

    我得到以下代码来模拟音量静音按键 DllImport coredll dll SetLastError true static extern void keybd event byte bVk byte bScan int dwFlags
  • IEnumreable 动态和 lambda

    我想在 a 上使用 lambda 表达式IEnumerable
  • Windows 目录永远不会包含临时文件的非 ASCII 字符?

    在 Windows 上使用 MinGW 7 3 0 由于 Windows 限制 Hunspell 无法从包含非 ASCII 字符的位置加载字典文件 我已经尝试了所有方法 1 现在我将文件复制到没有 ASCII 字符的路径 然后再将其交给 H
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现

随机推荐

  • 点击式 tkinter 窗口

    该函数复制自使用 TkInter 绑定设置不可交互 点击 覆盖 不仅窗口无法点击 PNG 也不透明 PNG在这里 https drive google com file d 1tlLl2hjPq38mc c PpMhkKDlP1HqvDY5
  • 加速插值练习

    我正在对大约 120 万个观测值运行大约 45 000 个局部线性回归 本质上 所以我希望得到一些帮助来加快速度 因为我很不耐烦 我基本上是在尝试为一堆公司构建逐年的工资合同 工资函数 给定公司 年份 职位的经验 这是我正在使用的数据集 基
  • 将字段值连接到 SQL Server 中的字符串

    我需要一个与Oracle类似的功能WM CONCAT在 SQL Server 中 它返回一个逗号分隔的列表 其中包含您作为参数传递的任何字段 例如 在 Oracle 中 select WM CONCAT first name from em
  • Visual Studio 中“ID 为 #### 的进程未运行”

    我尝试在 Visual Studio 2013 update 3 上运行任何程序 并收到以下警告框 ID 为 的进程未运行 每次都会显示不同的身份证号码 在错误窗口中 我收到以下错误消息 程序 3148 iisexpress exe 已退出
  • 在当前日期中添加一年 PYTHON

    我已经取了一个date from database与以下variable i operation date 我得到了这样的值 April 1 2013 我需要在上面加上一年 这样我就可以得到 April 1 2014 请建议 我该怎么做 A
  • Oracle SYS_REFCURSOR 无法用作返回类型

    我需要使用 oracle 11g 中的成员函数提取并显示 db 中所有记录的所有年份 CREATE or replace TYPE BODY student t AS MEMBER FUNCTION getYear RETURN SYS R
  • 通过使用键作为值来反序列化 Jackson

    我有一个与此类似的 JSON 结构 teams team1Id team1Name team2Id team2Name 我想将其反序列化为这些 Java 类 class Teams Team team1 Team team2 class T
  • 使用 AVPlayer 和 AVMutableComposition 的声音播放未对齐

    我正在尝试使用多个乐器样本创建一首歌曲AV合成 当我播放两个声音资源时kCMTimeZero in an AVMutableComposition 我希望他们同时玩 但有一个非常轻微的偏移 这种情况只发生在第一次玩游戏时 所以这似乎是某种加
  • python 中变量的 ast.literal_eval ?

    假设我有一个文件example py 导入示例 VVV 2 DictionaryNameB a VVV bb SomethingB c False ccc None dddd true eeeee 0 123456 f 2 h 1 2 3
  • Android NestedScrollView 在 ListView 中仅显示一项

    有人知道我的布局有什么问题吗 我无法弄清楚为什么我的 ListView 只显示一项 布局 xml
  • 修改重复序列中的单个事件不会反映在从 Rest API 读取的数据中

    当您在 Office365 Outlook 中创建正在发生的事件并修改任何单个事件 编辑事件 时 更改永远不会反映在 REST API 使用的数据中 不会创建重复异常 新事件 并且系列主数据没有更改任何单个字段 预期的行为是 SeriesM
  • 虚拟环境中的 Pip 升级访问被拒绝

    Windows 10 python 3 9 13 以管理员身份在命令提示符下 我开始学习tensorflow 并按照他们网站上的步骤进行操作 当我尝试在虚拟环境中使用命令 pip install upgrade pip 时 它显示以下消息
  • python 线程块

    我正在尝试编写一个程序 该程序在循环中创建新线程 并且不等待它们完成 据我了解 如果我使用 start 在线程上 我的主循环应该继续 另一个线程将关闭并同时完成其工作 然而 一旦我的新线程启动 循环就会阻塞 直到线程完成 我是否误解了Pyt
  • Java:每个连接线程阻塞 IO 与 NIO 的完整代码示例?

    好吧 我在这里要疯了 我一直在为我的服务器重写 NIO 代码 并遇到了一些真正令人头痛的问题 最重要的是 让 NIO 正确 是非常困难的 有些人向我推荐了 Rox 教程 http rox xmlrpc sourceforge net nio
  • setOnClickListener 使我的 Android 应用程序崩溃 [重复]

    这个问题在这里已经有答案了 当我尝试在 Android 应用程序中实现登录屏幕时 我遇到了问题 用户必须使用字符串 user 填写登录名和密码字段 每当我运行此代码时 我的 Android 虚拟设备就会崩溃 它甚至无法打开 并且设备屏幕上出
  • 使用android模拟器发送和接收文本[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我目前正在开发 Android 应用程序 其中包括短信 仅使用android模拟器可以发送和接收短信吗 如果是 我该怎么做 这很简单 打开控制台 通过 telnet 连接到正在运
  • next() 直接在生成器上与具有生成器值的变量上的行为不同

    为什么直接在生成器上调用 next 与在分配了相同生成器作为其值的变量上调用 next 时得到不同的结果 下面的所有代码 输出 下面是生成器 加上变量声明 赋值 function gen yield 1 yield 2 yield 3 le
  • SQL 查询创建开始和结束日期

    好吧 假设我有一张如下所示的表 ID DATE 2 2010 08 12 2 2010 08 16 2 2010 08 17 2 2010 12 21 2 2010 12 22 2 2011 05 25 任何人都知道如何查询它 因此数据看起
  • 可以运行 Google Sheets 脚本“每天的确切时间”吗? [复制]

    这个问题在这里已经有答案了 目前我使用我的触发器 时间驱动 gt 日计时器 gt 上午 7 点到上午 8 点 GMT 08 00 结果 我的脚本在上午 7 11 45 运行 还早呢 我的问题是 是否可以在每天上午 7 55 00 等确切时间
  • 在 Windows 上静态链接 ICU

    我正在尝试在我的 C 项目中使用 ICU Unicode 我已经从以下位置下载了库here 然后通过以下方式链接它们 将 lib64 目录添加到属性 gt 链接器 gt 常规 gt 其他库目录 将所有 lib 文件的名称添加到 输入 选项卡