在 Win32 (Visual Studio 2019 x86) 上构建 assimp

问题描述

我正在尝试为 Win32 构建 ROS2,其中一个包导入和构建 assimp。目前,我在 contrib/unzip 文件夹中遇到了许多语法错误文件问题(请参阅下面的构建输出)。我想我需要在某处设置正确的编译器版本,但我不知道需要哪个 C 编译器,或者我是否需要修改/更新解压缩代码。到目前为止,我已经尝试在 assimp 的 CMakeList 中设置不同的 CMAKE_C_COMPILERCMAKE_CXX_COMPILER(这应该无关紧要,因为解压缩只包含 C 代码......对吗?)但我没有得到任何结果。 我正在使用 cmake 标志 -A Win32 在 Visual Studio 2019 x86 命令提示符中编译 assimp。完整命令为 colcon build --cmake-args -A WIN32 --packages-select rviz_assimp_vendor

我很高兴在这个问题上有任何帮助,因为老实说,我只在 ROS 和 ROS2 环境中使用了相当简单的 CMakeLists,所以我真的不知道如何前进。

cl : command line warning D9025: overriding '/W1' with '/w' [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
cl : command line warning D9025: overriding '/W1' with '/w' [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
cl : command line warning D9025: overriding '/W1' with '/w' [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
cl : command line warning D9025: overriding '/W1' with '/w' [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
  ioapi.c
  unzip.c
  zip.c
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(150,18): error C2143: Syntax error: missing ';' before '*' [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(150,18): error C2059: Syntax error: '*' [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(152,1): error C2059: Syntax error: '}' [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\crypt.h(35,60): error C2143: Syntax error: missing ')' before '*' (compiling source file C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c) [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\crypt.h(35,60): error C2143: Syntax error: missing '{' before '*' (compiling source file C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c) [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\crypt.h(35,73): error C2059: Syntax error: ')' (compiling source file C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c) [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\crypt.h(36,1): error C2054: expected '(' to follow 'pcrc_32_tab' (compiling source file C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c) [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\crypt.h(48,58): error C2143: Syntax error: missing ')' before '*' (compiling source file C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c) [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\crypt.h(48,58): error C2143: Syntax error: missing '{' before '*' (compiling source file C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c) [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\crypt.h(48,76): error C2059: Syntax error: 'type' (compiling source file C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c) [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\crypt.h(48,77): error C2059: Syntax error: ')' (compiling source file C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c) [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\crypt.h(65,76): error C2143: Syntax error: missing ')' before '*' (compiling source file C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c) [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\crypt.h(65,76): error C2143: Syntax error: missing '{' before '*' (compiling source file C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c) [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\crypt.h(65,89): error C2059: Syntax error: ')' (compiling source file C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c) [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\crypt.h(66,1): error C2054: expected '(' to follow 'pcrc_32_tab' (compiling source file C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c) [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(401,11): error C2065: 'unz_s': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(401,11): error C2146: Syntax error: missing ';' before identifier 'us' [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(401,13): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(402,11): error C2065: 'unz_s': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(402,13): error C2065: 's': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(419,32): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(419,33): error C2224: left of '.z_filefunc' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(419,28): error C2198: 'fill_fopen_filefunc': too few arguments for call [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(421,11): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(421,12): error C2224: left of '.z_filefunc' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(423,7): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(423,8): error C2224: left of '.filestream' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(423,25): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(423,26): error C2224: left of '.z_filefunc' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(423,52): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(423,53): error C2224: left of '.z_filefunc' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(427,11): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(427,12): error C2224: left of '.filestream' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(430,48): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(430,49): error C2224: left of '.z_filefunc' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(430,62): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(430,63): error C2224: left of '.filestream' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(430,44): error C2198: 'unzlocal_SearchCentralDir': too few arguments for call [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(435,1): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(435,1): error C2224: left of '.z_filefunc' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(435,1): error C2224: left of '.filestream' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(439,29): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(439,30): error C2224: left of '.z_filefunc' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(439,44): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(439,45): error C2224: left of '.filestream' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(439,25): error C2198: 'unzlocal_getLong': too few arguments for call [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(443,30): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(443,31): error C2224: left of '.z_filefunc' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(443,45): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(443,46): error C2224: left of '.filestream' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(443,26): error C2198: 'unzlocal_getShort': too few arguments for call [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(447,30): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(447,31): error C2224: left of '.z_filefunc' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(447,45): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(447,46): error C2224: left of '.filestream' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(447,26): error C2198: 'unzlocal_getShort': too few arguments for call [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(451,30): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(451,31): error C2224: left of '.z_filefunc' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(451,45): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(451,46): error C2224: left of '.filestream' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(451,60): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(451,61): error C2224: left of '.gi' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(451,26): error C2198: 'unzlocal_getShort': too few arguments for call [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(455,30): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(455,31): error C2224: left of '.z_filefunc' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(455,45): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(455,46): error C2224: left of '.filestream' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(455,26): error C2198: 'unzlocal_getShort': too few arguments for call [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(458,29): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(458,30): error C2224: left of '.gi' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(464,29): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(464,30): error C2224: left of '.z_filefunc' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(464,44): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(464,45): error C2224: left of '.filestream' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(464,59): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(464,60): error C2224: left of '.size_central_dir' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(464,25): error C2198: 'unzlocal_getLong': too few arguments for call [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(469,29): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(469,30): error C2224: left of '.z_filefunc' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(469,44): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(469,45): error C2224: left of '.filestream' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(469,59): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(469,60): error C2224: left of '.offset_central_dir' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(469,25): error C2198: 'unzlocal_getLong': too few arguments for call [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(473,30): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(473,31): error C2224: left of '.z_filefunc' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(473,45): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(473,46): error C2224: left of '.filestream' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(473,60): error C2065: 'us': undeclared identifier [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]
C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0\contrib\unzip\unzip.c(473,61): error C2224: left of '.gi' must have struct/union type [C:\dev\ros2_foxy_custom\build\rviz_assimp_vendor\assimp-4.1.0-prefix\src\assimp-4.1.0-build\code\assimp.vcxproj]

解决方法

不支持使用 VS2019 构建 Assimp 4.0.x。要使用它,您必须切换到最新版本 5.0.1。然后构建应该可以工作。