c++ - 在没有 Midas.dll C++ 的情况下部署项目

标签 c++ dll c++builder firemonkey c++builder-xe8

我正在努力做到这一点,这样我就可以将一个使用 Midas.dll 的 firemonkey 项目部署到另一台机器上,而不必也将 DLL 复制过来。 This article通过在您的 uses 子句中包含 MidasLib 来解释如何使用 delphi 项目执行此操作,如下所示:

program Project1;

uses
  MidasLib,
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

我不是很熟悉 delphi,但我假设在 C++ 中我想使用 #include 语句来代替 uses 语句。由于 MidasLib 是一个 .pas 文件,我假设我应该包含 Midas.hpp。然而,即使我在使用它的文件中包含了 Midas.hpp,我仍然会收到一个异常提示“找不到 Midas.dll。”

如何在不复制 Midas.dll 文件的情况下部署我的项目?

最佳答案

您还应该链接静态库并调用 RegisterMidasLib 函数:

#include <Midas.hpp>

// or use the Project Manager's "Add to Project" option
#pragma comment(lib, "midas.lib")

extern "C" __stdcall DllGetDataSnapClassObject(REFCLSID, REFIID, void **);

void InitMidas() 
{
  #pragma startup InitMidas 254
  RegisterMidasLib(DllGetDataSnapClassObject);
}

更多详情 here .

关于c++ - 在没有 Midas.dll C++ 的情况下部署项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32658754/

相关文章:

c# - 在 dll 中配置 log4net 日志记录

delphi - 如何动态滚动 TStringGrid?

c++ - Libtorrent - 给定一个磁力链接,你如何生成一个 torrent 文件?

来自字符串的 C++ 字节数组

c# - 如何获取 C# .NET 编译器程序集 GUID

delphi - TDBGrid 选定的行索引 : How to get

我可以在 Delphi 中使用 C 头文件吗?

c++ - 函数模板和私有(private)继承

c++ - 安全服务器不工作

powershell - 为什么没有预构建的 PInvoke DLL?