c++ - 将 C 库与 C++ wxWidgets 程序链接的问题
问题描述
最近,我一直在尝试用 C 语言创建一个库(有点像 libtar 克隆),以帮助用户操作sarf档案(我的一种自定义档案格式)。
除了库之外,还有一个命令行程序,它实现了库的所有功能。将文件添加到存档、提取、删除、列出所有文件。它工作得很好。
我决定也使用 C++ 中的 wxWidgets 创建一个桌面 gui 程序(也使用我的库)。
我知道 C 库可以在 C++ 代码中使用,但您只需要像这样实现它们:
extern "C" {
#include <my_c_lib.h>
}
所以,我开始开发那个 C++ gui 应用程序。但令我惊讶的是,它并没有很好地工作。
在 c++ 应用程序中,随机字符出现在文件名中,而它们在命令行应用程序中没有,这当然会导致应用程序出现问题。
我发现这些字符仅在我调用target_link_libraries
CMakeLists.txt 以将程序与我的库和 wxWidgets 链接时出现。如果评论这一行,重建,运行,一切看起来都很好。
- 我正在使用 MacOS Big Sur
- 我的操作系统的语言环境是希腊语 (el_GR.UTF-8)
- 从brew安装的 wxWidgets (3.1.5)
例子:
解决方案
推荐阅读
- macos - sdl2_ttf 配置错误查找免费类型 2 库
- windows-subsystem-for-linux - Windows 桌面未显示在 WSL 上
- android - 如果特定参数正确,则打印吐司
- java - 如何逐行访问多维?
- javascript - 获取鼠标连续移动的持续时间
- angular - 我如何将哈希传递到角度 6 中的输入复选框值
- java - 更改谷歌地图的旋转轴
- ios - 无法使用“String”类型的参数为“[NSAttributedString.Key: Any]”类型的值下标
- express - Express.js 嵌套路由的数据关联问题
- ios - 如何将 NSKeyedUnarchiver unarchiveObjectWithData 更新为 NSKeyedUnarchiver unarchivedObjectOfClass:[fromData:error: