为Windows x64安装libpng时出错

时间:2016-10-21 18:59:45

标签: python visual-studio libpng

我尝试从http://libpng.org/pub/png/libpng.html安装并重新安装libpng。我需要使用bob(由 python 托管)进行面部验证。我从第this answer页开始安装libzipziplib。但是我一直在收到错误。

这里我列出了cmake的结果:

-- Building for: Visual Studio 14 2015
-- Found ZLIB: c:/Python27/work/libpng-1.6.26/lib/zlib.lib (found version "1.2.8")
-- Performing Test HAVE_LD_VERSION_SCRIPT
-- Performing Test HAVE_LD_VERSION_SCRIPT - Failed
-- Performing Test HAVE_SOLARIS_LD_VERSION_SCRIPT
-- Performing Test HAVE_SOLARIS_LD_VERSION_SCRIPT - Failed
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Python27/work/libpng-1.6.26/libpng-1.6.26

然后,这是我在构建libpng.sln时得到的:

Severity    Code    Description Project File    Line    Suppression State
Warning MSB8028 The intermediate directory (x64\Debug\) contains files shared from another project (png.vcxproj, pngfix.vcxproj, pngimage.vcxproj, pngstest.vcxproj, pngtest.vcxproj, pngunknown.vcxproj, pngvalid.vcxproj, png_static.vcxproj).  This can lead to incorrect clean and rebuild behavior.    png-fix-itxt    C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets   392 
Warning MSB8028 The intermediate directory (x64\Debug\) contains files shared from another project (png-fix-itxt.vcxproj, pngfix.vcxproj, pngimage.vcxproj, pngstest.vcxproj, pngtest.vcxproj, pngunknown.vcxproj, pngvalid.vcxproj, png_static.vcxproj).  This can lead to incorrect clean and rebuild behavior.   png C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets   392 
Error   LNK1112 module machine type 'x64' conflicts with target machine type 'X86'  png C:\Python27\work\libpng-1.6.26\libpng-1.6.26\x64\Debug\png.obj  1   
Error   LNK1112 module machine type 'x64' conflicts with target machine type 'X86'  png-fix-itxt    C:\Python27\work\libpng-1.6.26\libpng-1.6.26\x64\Debug\png-fix-itxt.obj 1   
Warning MSB8028 The intermediate directory (x64\Debug\) contains files shared from another project (png-fix-itxt.vcxproj, png.vcxproj, pngfix.vcxproj, pngstest.vcxproj, pngtest.vcxproj, pngunknown.vcxproj, pngvalid.vcxproj, png_static.vcxproj).  This can lead to incorrect clean and rebuild behavior.    pngimage    C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets   392 
Warning MSB8028 The intermediate directory (x64\Debug\) contains files shared from another project (png-fix-itxt.vcxproj, png.vcxproj, pngimage.vcxproj, pngstest.vcxproj, pngtest.vcxproj, pngunknown.vcxproj, pngvalid.vcxproj, png_static.vcxproj).  This can lead to incorrect clean and rebuild behavior.  pngfix  C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets   392 
Warning MSB8028 The intermediate directory (x64\Debug\) contains files shared from another project (png-fix-itxt.vcxproj, png.vcxproj, pngfix.vcxproj, pngimage.vcxproj, pngstest.vcxproj, pngtest.vcxproj, pngvalid.vcxproj, png_static.vcxproj).  This can lead to incorrect clean and rebuild behavior.  pngunknown  C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets   392 
Error   LNK1104 cannot open file 'Debug\libpng16d.lib'  pngimage    C:\Python27\work\libpng-1.6.26\libpng-1.6.26\LINK   1   
Error   LNK1104 cannot open file 'Debug\libpng16d.lib'  pngunknown  C:\Python27\work\libpng-1.6.26\libpng-1.6.26\LINK   1   
Error   LNK1104 cannot open file 'Debug\libpng16d.lib'  pngfix  C:\Python27\work\libpng-1.6.26\libpng-1.6.26\LINK   1   
Warning MSB8028 The intermediate directory (x64\Debug\) contains files shared from another project (png-fix-itxt.vcxproj, png.vcxproj, pngfix.vcxproj, pngimage.vcxproj, pngtest.vcxproj, pngunknown.vcxproj, pngvalid.vcxproj, png_static.vcxproj).  This can lead to incorrect clean and rebuild behavior.    pngstest    C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets   392 
Warning MSB8028 The intermediate directory (x64\Debug\) contains files shared from another project (png-fix-itxt.vcxproj, png.vcxproj, pngfix.vcxproj, pngimage.vcxproj, pngstest.vcxproj, pngtest.vcxproj, pngunknown.vcxproj, png_static.vcxproj).  This can lead to incorrect clean and rebuild behavior.    pngvalid    C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets   392 
Warning MSB8028 The intermediate directory (x64\Debug\) contains files shared from another project (png-fix-itxt.vcxproj, png.vcxproj, pngfix.vcxproj, pngimage.vcxproj, pngstest.vcxproj, pngunknown.vcxproj, pngvalid.vcxproj, png_static.vcxproj).  This can lead to incorrect clean and rebuild behavior.   pngtest C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets   392 
Error   LNK1104 cannot open file 'Debug\libpng16d.lib'  pngvalid    C:\Python27\work\libpng-1.6.26\libpng-1.6.26\LINK   1   
Error   LNK1104 cannot open file 'Debug\libpng16d.lib'  pngtest C:\Python27\work\libpng-1.6.26\libpng-1.6.26\LINK   1   
Error   LNK1104 cannot open file 'Debug\libpng16d.lib'  pngstest    C:\Python27\work\libpng-1.6.26\libpng-1.6.26\LINK   1

据我所知,我应该处理的是版本x64。而且看起来cmake无法正常执行。但我不知道如何解决它。

2 个答案:

答案 0 :(得分:0)

我刚刚按照该答案中的步骤成功安装了libpng。我认为你没有正确安装它,因为我在安装错误时看到了这些结果。

  

- 执行测试HAVE_LD_VERSION_SCRIPT

     

- 执行测试HAVE_LD_VERSION_SCRIPT - 失败

     

- 执行测试HAVE_SOLARIS_LD_VERSION_SCRIPT

     

- 执行测试HAVE_SOLARIS_LD_VERSION_SCRIPT - 失败

之后,我发现在选择CMAKE_INSTALL_PREFIX和libzip的CMAKE_PREFIX_PATH时我犯了错误。只需提醒zlib和libzip应安装在同一路径中。并且libpng应该安装在与前一个相同的路径中。

答案 1 :(得分:0)

您确定使用CMake选择了正确的发生器吗?据我所知,您需要选择" Visual Studio 14 2015 Win64"如果要构建64位二进制文​​件,请作为目标名称。