浏览代码

Merge branch 'master' into blender_can_read

Kim Kulling 2 年之前
父节点
当前提交
8a65dcc19e
共有 2 个文件被更改,包括 7 次插入1 次删除
  1. 5 0
      CMakeLists.txt
  2. 2 1
      port/PyAssimp/pyassimp/core.py

+ 5 - 0
CMakeLists.txt

@@ -268,6 +268,11 @@ IF ((CMAKE_C_COMPILER_ID MATCHES "GNU") AND NOT MINGW)
     SET(CMAKE_CXX_STANDARD 17)
     SET(CMAKE_CXX_STANDARD 17)
     SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
     SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
   ENDIF()
   ENDIF()
+  
+  IF(CMAKE_CXX_COMPILER_VERSION GREATER_EQUAL 13)
+    MESSAGE(STATUS "GCC13 detected disabling \"-Wdangling-reference\" in Cpp files as it appears to be a false positive")
+    ADD_COMPILE_OPTIONS("$<$<COMPILE_LANGUAGE:CXX>:-Wno-dangling-reference>")
+  ENDIF()
   # hide all not-exported symbols
   # hide all not-exported symbols
   IF(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "mips64" )
   IF(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "mips64" )
     SET(CMAKE_CXX_FLAGS "-mxgot -fvisibility=hidden -fno-strict-aliasing -Wall ${CMAKE_CXX_FLAGS}")
     SET(CMAKE_CXX_FLAGS "-mxgot -fvisibility=hidden -fno-strict-aliasing -Wall ${CMAKE_CXX_FLAGS}")

+ 2 - 1
port/PyAssimp/pyassimp/core.py

@@ -311,6 +311,7 @@ def load(filename,
     Scene object with model data
     Scene object with model data
     '''
     '''
 
 
+    from ctypes import c_char_p
     if hasattr(filename, 'read'):
     if hasattr(filename, 'read'):
         # This is the case where a file object has been passed to load.
         # This is the case where a file object has been passed to load.
         # It is calling the following function:
         # It is calling the following function:
@@ -324,7 +325,7 @@ def load(filename,
         model = _assimp_lib.load_mem(data,
         model = _assimp_lib.load_mem(data,
                                      len(data),
                                      len(data),
                                      processing,
                                      processing,
-                                     file_type)
+                                     c_char_p(file_type.encode(sys.getfilesystemencoding())))
     else:
     else:
         # a filename string has been passed
         # a filename string has been passed
         model = _assimp_lib.load(filename.encode(sys.getfilesystemencoding()), processing)
         model = _assimp_lib.load(filename.encode(sys.getfilesystemencoding()), processing)