【问题标题】:Compile OPC-UA-AnsiC to DLL将 OPC-UA-AnsiC 编译为 DLL
【发布时间】:2018-06-17 10:19:20
【问题描述】:

我的目标是在 Delphi 中编写一个小型 OPC-UA-Client,我想使用原始的 OPC-UA-Stack,而不需要任何 3rd-party-SDK。

我已经能够编译 Ansi-C-Stack,但输出的是 .obj 和 .lib 文件。

有没有办法将堆栈编译为 DLL?我已经尝试过使用 link.exe 从 Obj 文件创建 DLL,但我收到很多“未解析的外部符号”错误消息,其中一些我能够解决,但不是全部。

我也尝试使用 obj.文件直接在delphi中,但后来我有很多手动翻译工作。

【问题讨论】:

  • 你需要解决缺少的依赖项
  • 那么使用link.exe是创建DLL的正确方法吗?
  • @Mr.Dev:如何将一组 .obj 和 .lib 文件转换为 DLL 取决于您使用的系统(gpp、VC++、C++Builder 等)。它应该在文档中的某处进行描述。但这真的是德尔福问题吗?
  • 这是一个 Delphi 问题,因为最初的问题是如何使堆栈在 Delphi 中可用。将其编译为 DLL 是该过程的第一部分 - 尽管这是可能的,但项目中并未真正解释这一点。

标签: c visual-c++ opc-ua


【解决方案1】:

是的,您可以使用 Visual Studio 将其编译为 DLL。在项目属性中,将配置类型更改为 .dll 并添加定义“_UA_STACK_BUILD_DLL”。

【讨论】:

  • 非常感谢,这正是我搜索的内容
  • 也许您可以将其标记为正确答案,尽管我们得到了所有负面反馈;)
猜你喜欢
  • 1970-01-01
  • 2017-08-23
  • 2021-03-26
  • 2023-02-09
  • 1970-01-01
  • 2022-01-12
  • 2020-09-14
  • 2017-06-14
  • 1970-01-01
相关资源
最近更新 更多