不使用Midas.dll c++部署项目

Deploy project without Midas.dll C++

本文关键字:c++ 部署 项目 dll Midas      更新时间:2023-10-16

我试图使它,所以我可以部署一个firemonkey项目,它使用Midas.dll到另一台机器上,而不必复制DLL。本文将通过在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);
}