使用 mingw32 构建 Assimp

问题描述

你好,我尝试用 mingw32 编译 Assimp。

但是在编译过程中出现了多个错误

一个是:

C:\Users\MY_NAME\Downloads\assimp-5.0.1\assimp-5.0.1\code\SMD\SMDLoader.cpp:579:12: error: 'strtok_s' was not declared in this scope; did you mean 'strtok_r'?

我找到了解决此问题的方法,我更改了源代码并且它有效,但我没有找到解决第二个问题的方法。 第二个错误是:

c:\users\MY_NAME\downloads\assimp-5.0.1\assimp-5.0.1\contrib\zip\src\zip.h:30:15: error: conflicting declaration 'typedef long int ssize_t' 
30 | typedef long  ssize_t;  /* byte count or error */

这是 zip.h 中的第 30 行:

typedef long  ssize_t;  /* byte count or error */

为了更清楚,我决定向您展示一段代码。 这是 zip.h 中第 27 到 31 行的一段代码

#ifdef _WIN64
typedef long long  ssize_t;  /* byte count or error */
#else
typedef long  ssize_t;  /* byte count or error *
#endif

我正在使用 mingw32 和 gcc (9.2.0)

有人能解释一下构建失败的原因吗?

解决方法

据我所知,这个issue在我们现在的master已经关闭了。你能试试Asset-Importer-Lib@github的最新版本吗?

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...