加载静态库时 TCL 分段错误

问题描述

我已经用 C++ 创建了一个 gRPC 客户端服务器应用程序。消息在 protobuf 文件中定义,生成的代码与我自己的 c++ 命令和 gRPC 库捆绑在一起,以创建静态 grpc_lib.a。 反过来,这个 grpc_lib.a 链接到相关的客户端和服务器代码以创建客户端和服务器应用程序。这一切正常,代码运行。

我的大部分测试代码都是基于 TCL 的。因此,我创建了另一个静态库 (tcl_grpc.a),由 grpc_lib.a 和 c 源代码组成,其中详细介绍了 TCL 命令。 这都是标准的东西。 但是,问题是我无法将 tcl_grpc.a 库加载到我的 TCL shell 中。 我经常收到“分段错误”

有没有其他人在将库加载到 TCL 时遇到过类似的问题?

提前致谢。

解决方法

问题是不正确地混合了 c 和 c++ 库。 不是TCL的错 创建的 TCL 库仅为 .c 文件,它们从不同的库调用 c++ 类。 解决方案是将 tcl 库分成 .c 和 .cpp 文件,分别使用 g 和 g++ 分别编译。 cpp 文件将引用 cpp 库中的类。 感谢所有反馈

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...