在 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 的相关文章

  • 更新面板工作速度非常慢

    我正在编写一个用户可以注册的应用程序 注册时 可以选择多个选项 并根据这些注册字段可见或不可见以及是否必需 我想出了一个想法 所有字段都将位于 updatePanel 中 当用户更改注册选项时 我将在服务器端设置这些字段的可见性 它可以工作
  • 为什么这个 Web api 控制器不并发?

    我有一个 Web API 控制器 里面有以下方法 public string Tester Thread Sleep 2000 return OK 当我调用它 10 次 使用 Fiddler 时 我预计所有 10 次调用都会在大约 2 秒后
  • Exit() 时是否调用基本对象析构函数?

    我意识到这个问题已经出现过几次 但我试图获得上述问题的明确答案 但我不断遇到相互矛盾的信息 我需要知道的是 当我使用 exit 时 基本类对象是否被破坏 我知道需要删除动态内存 但我的意思更像是 include
  • 在 HKCR 中创建新密钥有效,但不起作用

    我有以下代码 它返回 成功 但使用两种不同的工具使用搜索字符串 3BDAAC43 E734 11D5 93AF 00105A990292 搜索注册表不会产生任何结果 RegistryKey RK Registry ClassesRoot C
  • 尝试了解使用服务打开对话框

    我已经阅读了有关使用 mvvm 模式打开对话框的讨论 我看过几个使用服务的示例 但我不明白所有部分如何组合在一起 我发布这个问题寻求指导 以了解我应该阅读哪些内容 以更好地理解我所缺少的内容 我将在下面发布我所拥有的内容 它确实有效 但从我
  • C# 方法重载决策不选择具体的泛型覆盖

    这个完整的 C 程序说明了这个问题 public abstract class Executor
  • 在 CPP 类中将 C 函数声明为友元

    我需要在 C 函数中使用类的私有变量 我正在做这样的事情 class Helper private std string name public std getName return name friend extern C void in
  • Environment.CurrentDirectory 与 System.IO.Directory.GetCurrentDirectory

    我正在编写一个 Net WinForms 并不断在调试和发布配置之间切换 并且有一些文件我需要任一配置才能访问 我想做的是将文件放在 BIN 文件夹中的公共目录中 这样它看起来像这样 MyProject Bin CommonFiles My
  • MVC3中设置下拉列表中的所选项目

    我必须为视图中的下拉列表设置所选项目 但它不起作用 View div class editor label Html LabelFor model gt model Gender div div class editor field Htm
  • 当事件button.click发生时,如何获取按钮名称/标签?

    我以编程方式制作按钮并将它们添加到堆栈面板中 以便每次用户导航到页面时按钮都会发生变化 我正在尝试做这样的事情 当我单击创建的按钮时 它将获取按钮的标签并转到正确的页面 但是 我无法使用 RoutedEventHandler 访问按钮元素
  • extern 声明和函数定义都在同一文件中

    我只是浏览了一下gcc源文件 在gcc c 我发现了类似的东西 extern int main int char int main int argc char argv 现在我的疑问是extern是告诉编译器特定的函数不在这个文件中 但可以
  • 不同 C++ 文件中的相同类名

    如果两个 C 文件具有相同名称的类的不同定义 那么当它们被编译和链接时 即使没有警告也会抛出一些东西 例如 a cc class Student public std string foo return A void foo a Stude
  • C++中判断unicode字符是全角还是半角

    我正在编写一个终端 控制台 应用程序 该应用程序应该包装任意 unicode 文本 终端通常使用等宽 固定宽度 字体 因此要换行文本 只需计算字符数并观察单词是否适合一行并采取相应的操作 问题是 Unicode 表中的全角字符在终端中占用了
  • 在 VS 中运行时如何查看 C# 控制台程序的输出?

    我刚刚编写了一个名为 helloworld 的聪明程序 它是一个 C NET 4 5 控制台应用程序 在扭曲的嵌套逻辑迷宫深处 使用了 Console WriteLine 当我在命令行运行它时 它会运行并且我会看到输出 我可以执行其他命令并
  • 已发布的 .Net Core 应用程序警告安装 .Net Core,但它已安装

    我制作了一个 WPF 和控制台应用程序 供某人在我无法访问的私人服务器上使用 我使用 Visual Studio 2019 的内置 发布向导 来创建依赖于框架的单文件应用程序 当该人打开 WPF 应用程序时 他们会看到标准警告 他们单击 是
  • 在 C# 中为父窗体中的子窗体控件添加事件处理程序

    我有两种形式 一种是带有按钮和文本框的父表单 单击该按钮时 将打开一个对话框 该子窗体又包含一个文本框和一个按钮 现在我想要的是 每当子表单文本框中的文本更改时 父表单文本框中的文本会自动更改 为了获得这个 我所做的是 Form3 f3 n
  • 将二变量 std::function 转换为单变量 std::function

    我有一个函数 它获取两个值 x 和 y 并返回结果 std function lt double double double gt mult double x double y return x y 现在我想得到一个常量 y 的单变量函数
  • 如何最好地以编程方式将 `__attribute__ ((unused))` 应用于这些自动生成的对象?

    In my makefile我有以下目标 它将文本 HTML 资源 编译 为unsigned char数组使用xxd i http linuxcommand org man pages xxd1 html 我将结果包装在匿名命名空间和标头保
  • 将 Lambda 表达式树与 IEnumerable 结合使用

    我一直在尝试了解有关使用 Lamba 表达式树的更多信息 因此我创建了一个简单的示例 这是代码 如果作为 C 程序粘贴到 LINQPad 中 它可以工作 void Main IEnumerable
  • MySqlConnectionStringBuilder - 使用证书连接

    我正在尝试连接到 Google Cloud Sql 这是一个 MySql 解决方案 我能够使用 MySql Workbench 进行连接 我如何使用 C 连接MySqlConnectionStringBuilder 我找不到提供这三个证书的

随机推荐

  • 点击式 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 文件的名称添加到 输入 选项卡