使用VS2012 64位的LibPNG静态链接

LibPNG static linking with VS2012 64bit

本文关键字:静态 链接 LibPNG VS2012 64位 使用      更新时间:2023-10-16

我无法将LibPNG静态链接到我的VS2012(64位)项目。我做了以下事情:

  1. 下载最新版本(1614)的libPNG源代码
  2. 打开随附的VisualStudio解决方案(projects/vstudio/vstudio.sln)
  3. 选择"Release Library"并将C/C++->代码生成->运行库设置为"MDd"(与我的项目相同。

    4.编译静态库。

然后在链接器的目标项目中,我在AdditionalLibrary目录中指定lib的位置,并在输入指定lib的名称。

我还将Zlib配置为静态,正如这里所建议的那样。

然而,当编译时,我得到:

错误LNK2019:中引用的未解析外部符号png_sig_cmp功能

对于LibPNG API的第一个函数调用。

我试图调整lib的不同属性,但它不起作用。这可能是因为libPNG是作为x86库而不是x64构建的吗?

因此,总结注释,这里的解决方案是以64位模式编译libPNG。

不能用64位程序集编译32位程序集。