从某些DLL中删除程序的依赖项

时间:2011-12-11 16:04:13

标签: c dll

我正在用C编写一个应用程序,它使用pcre3.dll进行正则表达。

问题是该程序需要在我尝试运行程序的每台客户端计算机上使用pcre3.dll。

如何从pcre3.dll中删除我的应用程序的依赖项?

1 个答案:

答案 0 :(得分:3)

您需要静态链接到pcre3,而不是像现在一样动态链接。

如果从源代码编译pcre,那么就像NON-UNIX-USE文件所述:

  

在WINDOWS环境中链接程序

     

如果要将程序静态链接到PCRE库中   非dll .a文件的形式,您必须先定义PCRE_STATIC   包括pcre.h或pcrecpp.h,否则包括pcre_malloc()和   pcre_free()导出的函数将被声明为__declspec(dllimport),   结果不理想。