在Cmake中构建Assimp时出错

ttvkxqim  于 2023-08-05  发布在  其他
关注(0)|答案(2)|浏览(235)

你好,我正试图用Cmake构建Assimp,但每次我试图配置Assimp时都会出现以下错误消息。Cmake的版本是3.11.0,assimp是4.0.0。

Looking for DirectX...
DirectX_PREFIX_PATH changed.
Found DirectX: C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Lib/x86/d3d9.lib
DX lib dir: C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Lib/x86
Looking for ZLIB...
Found PkgConfig: C:/cygwin/bin/pkg-config.exe (found version "0.29.1") 
Checking for module 'zzip-zlib-config'
  No package 'zzip-zlib-config' found
Could not locate ZLIB
compiling zlib from sources
CMake Deprecation Warning at contrib/zlib/CMakeLists.txt:8 (cmake_policy):
  The OLD behavior for policy CMP0048 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

Looking for sys/types.h
Looking for sys/types.h - found
Looking for stdint.h
Looking for stdint.h - found
Looking for stddef.h
Looking for stddef.h - found
Check size of off64_t
Check size of off64_t - failed
Looking for fseeko
Looking for fseeko - not found
Looking for unistd.h
Looking for unistd.h - not found
Could NOT find rt (missing: RT_LIBRARY) 
Enabled formats: AMF 3DS AC ASE ASSBIN ASSXML B3D BVH COLLADA DXF CSM HMP IRRMESH IRR LWO LWS MD2 MD3 MD5 MDC MDL NFF NDO OFF OBJ OGRE OPENGEX PLY MS3D COB BLEND IFC XGL FBX Q3D Q3BSP RAW SIB SMD STL TERRAGEN 3D X X3D GLTF 3MF MMD
Disabled formats:
Looking for DirectX...
DirectX_PREFIX_PATH changed.
DX lib dir: C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Lib/x86
Could NOT find IL (missing: IL_LIBRARIES IL_INCLUDE_DIR) 
CMake Error at C:/cygwin/lib/cmake/Qt5Gui/Qt5GuiConfig.cmake:27 (message):
  The imported target "Qt5::Gui" references the file

     "C:/cygwin/include/qt5/"

  but this file does not exist.  Possible reasons include:

  * The file was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and contained

     "C:/cygwin/lib/cmake/Qt5Gui/Qt5GuiConfig.cmake"

  but not all the files it references.

Call Stack (most recent call first):
  C:/cygwin/lib/cmake/Qt5Gui/Qt5GuiConfig.cmake:68 (_qt5_Gui_check_file_exists)
  C:/cygwin/lib/cmake/Qt5/Qt5Config.cmake:28 (find_package)
  tools/assimp_qt_viewer/CMakeLists.txt:19 (FIND_PACKAGE)

Configuring incomplete, errors occurred!
See also "C:/Users/peter/Desktop/assimp-master/assimp-master/build/CMakeFiles/CMakeOutput.log".
See also "C:/Users/peter/Desktop/assimp-master/assimp-master/build/CMakeFiles/CMakeError.log".

字符串
对于配置生成器,我使用Visual Studio 15 2017,因为我将其用于我的IDE。有没有办法解决这个问题?

iyr7buue

iyr7buue1#

请尝试最新版本的assimp(4.1.0)。Cygwin-cmake文件被破坏了。这将与最新版本一起工作。
作为一个解决方案,我们可以使用工具支持assimp(库将被构建,但基于qt 5的查看器不会):

cmake CMakelists.txt -DASSIMP_BUILD_ASSIMP_TOOLS=OFF

字符串
这将修复cmake-error,因为工具不会受到cmake的影响。

00jrzges

00jrzges2#

你好,我找到了这个问题的正确解决方案:

git clone --recursive https://github.com/gdraheim/zziplib

cd zziplib

字符串
搜索关键词:

grep -r zzip-zlib-config


结果:

docs/64on32.htm:zzip-zlib-config            zzip-zlib-config - ZLib Config (for ZZipLib)
docs/configs.htm:   zzip-zlib-config      zzip-zlib-config - ZLib Config (for ZZipLib)
docs/configs.htm:   The two entries like "zzip-sdl-config" and "zzip-zlib-config"
docs/configs.htm:   $ pkg-config zzip-zlib-config --modversion
docs/configs.htm:   $ pkg-config zzip-zlib-config --libs      
old.configure:ax_create_pkgconfig_requires="zzip-zlib-config"
old.configure.ac:[zzip/zziplib.pc], [zzip-zlib-config],[-lzzip],,[ ])
testbuilds.py:        A='"s:zzip-zlib-config:zlib:"'
testbuilds.py:        cmd = "docker exec {testname1} bash -c 'find /usr/local -name zzip-zlib-config.pc -exec rm -v {item} {end}'"
testbuilds.py:        A='"s:zzip-zlib-config:zlib:"'
testbuilds.py:        cmd = "docker exec {testname1} bash -c 'find /usr/local -name zzip-zlib-config.pc -exec rm -v {item} {end}'"
testbuilds.py:        A='"s:zzip-zlib-config:zlib:"'
testbuilds.py:        cmd = "docker exec {testname1} bash -c 'find /usr/local -name zzip-zlib-config.pc -exec rm -v {item} {end}'"
testbuilds.py:        A='"s:zzip-zlib-config:zlib:"'
testbuilds.py:        cmd = "docker exec {testname1} bash -c 'find /usr/local -name zzip-zlib-config.pc -exec rm -v {item} {end}'"
zzip/Makefile.am:pkgconfig_HEADERS= zzip-zlib-config.pc zziplib.pc \
zzip/Makefile.am:zzip-zlib-config.pc : Makefile
zzip/Makefile.am:    @ echo "Name: zzip-zlib-config" >>$@
zzip/Makefile.am:    echo 'Requires: zzip-zlib-config' >>$@
zzip/Makefile.in:pkgconfig_HEADERS = zzip-zlib-config.pc zziplib.pc \
zzip/Makefile.in:zzip-zlib-config.pc : Makefile
zzip/Makefile.in:    @ echo "Name: zzip-zlib-config" >>$@


现在编译并安装库文件:

make

make install


看看现在有什么不同:

git status


使用旧的配置文件生成pkg-config文件:zzip-zlib-config.pc

mv old.configure.ac configure.ac    
mv old.configure configure

./configure

git status


在zzip目录中生成MakeFile。

cd zzip    
make    
git status


现在zzip-zlib-config.pc生成成功了!

make install


这个步骤将复制zzip-zlib-config.pc到/usr/local/lib/pkgconfig/目录。
我们最好把另一个拷贝到/usr/lib/x86_64-linux-gnu/pkgconfig/:

cp zzip-zlib-config.pc /usr/lib/x86_64-linux-gnu/pkgconfig/

locate zzip-zlib-config

/usr/lib/x86_64-linux-gnu/pkgconfig/zzip-zlib-config.pc
/usr/local/lib/pkgconfig/zzip-zlib-config.pc

pkg-config zzip-zlib-config --libs

-lz


完成!

相关问题