我试图做到这一点,这样我就可以部署一个使用Midas.dll到另一台计算机上的防火墙项目,而不必将DLL也复制到另一台机器上。这篇文章解释了如何在delphi项目中通过在uses子句中包含MidasLib来实现这一点,如下所示:
program Project1;
uses
MidasLib,
Forms,
Unit1 in 'Unit1.pas' {Form1};我不太熟悉delphi,但我假设在C++中,我希望在uses语句的地方使用#include语句。因为MidasLib是一个.pas文件,所以我想我应该包括Midas.hpp。然而,即使我在正在使用它的文件中包含了Midas.hpp,我仍然会得到一个异常,上面写着"Midas.dll未找到“。
如何部署我的项目而不必将Midas.dll文件复制过来?
发布于 2015-09-19 17:04:46
您还应该链接静态库并调用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);
}更详细的这里。
https://stackoverflow.com/questions/32658754
复制相似问题