在windows上编译libupnp

Compile libupnp on windows

本文关键字:libupnp 编译 windows      更新时间:2023-10-16

我试图用VS2008在windows上编译libupnp-1.6.17,但出现了数百个语法错误。我从下载源代码http://sourceforge.net/projects/pupnp/
有人告诉我如何在windows上编译libupnp吗?

WINDOWS BUILD

为了在Windows下构建libupnp,需要pthreads-w32包。您可以从以下位置下载自解压ZIP文件:

ftp://sources.redhat.com/pub/pthreads-win32/pthreads-w32-2-7-0-release.exe或者可能是更新的版本(如果可用的话)。

执行自解压归档并将Pre-build.2文件夹复制到顶级源文件夹。将Pre-build.2重命名为pthreads。使用Visual C++6.0打开提供的工作区build\libupnp.dsw,然后选择Build->Build libupnp.dll(F7)在构建目录中还有VC8、VC9和VC10文件夹,其中包含分别用于Visual Studio 2005/2008/2010的解决方案文件。

如果您使用较新版本来构建libupnp,例如Visual Studio 2003或更高版本,然后需要重新构建pthreads包,使其使用相同的VC运行时作为libupnp防止跨边界运行时问题(参见http://msdn.microsoft.com/en-us/library/ms235460%28v=VS.100%29.aspx)。只需替换Pre-build.2文件夹中的文件(重命名为pthreads作为上面提到的)与新构建的版本。如果您还使用pthreads-win32的更新版本,那么您还应该替换该目录结构中的头文件(显然)。

用于构建静态库而不是DLL,以及用于使用静态pthreads-w32库需要额外定义以下开关:

UPNP_STATIC_LIB-用于创建可静态链接的UPNP库PTW32_STATIC_LIB-用于使用静态pthreads32库