我尝试从http://libpng.org/pub/png/libpng.html安装并重新安装libpng
。我需要使用bob(由 python 托管)进行面部验证。我从第this answer页开始安装libzip
和ziplib
。但是我一直在收到错误。
这里我列出了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
无法正常执行。但我不知道如何解决它。
答案 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位二进制文件,请作为目标名称。