首页 > 解决方案 > 将 C 库与 C++ wxWidgets 程序链接的问题

问题描述

最近,我一直在尝试用 C 语言创建一个库(有点像 libtar 克隆),以帮助用户操作sarf档案(我的一种自定义档案格式)。

除了库之外,还有一个命令行程序,它实现了库的所有功能。将文件添加到存档、提取、删除、列出所有文件。它工作得很好。

我决定也使用 C++ 中的 wxWidgets 创建一个桌面 gui 程序(也使用我的库)。

我知道 C 库可以在 C++ 代码中使用,但您只需要像这样实现它们:

extern "C" {
    #include <my_c_lib.h>
}

所以,我开始开发那个 C++ gui 应用程序。但令我惊讶的是,它并没有很好地工作。

在 c++ 应用程序中,随机字符出现在文件名中,而它们在命令行应用程序中没有,这当然会导致应用程序出现问题。

我发现这些字符仅在我调用target_link_librariesCMakeLists.txt 以将程序与我的库和 wxWidgets 链接时出现。如果评论这一行,重建,运行,一切看起来都很好。


例子:


此处为 gui 应用程序的 C++ 代码和此处的 库。

标签: c++cwxwidgets

解决方案


推荐阅读