user202729 / CasioEmu

An emulator for nX-U8 based Casio fx-es PLUS calculators
GNU General Public License v3.0
55 stars 11 forks source link

Error when compiling on MacOSX : linker errors #5

Closed Haaroon closed 5 months ago

Haaroon commented 1 year ago

running ninja then

➜  build git:(stable) ninja
[1/20] Compiling C++ object emulator.p/src_Peripheral_StandbyControl.cpp.o
FAILED: emulator.p/src_Peripheral_StandbyControl.cpp.o
c++ -Iemulator.p -I. -I.. -I/usr/local/include -I/usr/local/include/SDL2 -I/usr/local/Cellar/libpng/1.6.39/include/libpng16 -I/usr/local/Cellar/jpeg-xl/0.8.1/include -I/usr/local/Cellar/highway/1.0.3/include -I/usr/local/Cellar/brotli/1.0.9/include -I/usr/local/Cellar/jpeg-turbo/2.1.5.1/include -I/usr/local/Cellar/libtiff/4.4.0_1/include -I/usr/local/Cellar/libavif/0.11.1/include -I/usr/local/Cellar/webp/1.3.0/include -I/usr/local/Cellar/webp/1.3.0/include/webp -I/usr/local/opt/lua@5.3/include/lua -I/usr/local/Cellar/readline/8.2.1/include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c++11 -O0 -g -DHWY_SHARED_DEFINE -DAVIF_DLL -D_THREAD_SAFE -MD -MQ emulator.p/src_Peripheral_StandbyControl.cpp.o -MF emulator.p/src_Peripheral_StandbyControl.cpp.o.d -o emulator.p/src_Peripheral_StandbyControl.cpp.o -c ../src/Peripheral/StandbyControl.cpp
In file included from ../src/Peripheral/StandbyControl.cpp:5:
In file included from ../src/Peripheral/../Emulator.hpp:16:
../src/Peripheral/../Data/SpriteInfo.hpp:8:2: error: 'SpriteInfo' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
        struct SpriteInfo
        ^
../src/Peripheral/../Data/ModelInfo.hpp:9:2: note: did you mean struct here?
        class SpriteInfo;
        ^~~~~
        struct
In file included from ../src/Peripheral/StandbyControl.cpp:5:
../src/Peripheral/../Emulator.hpp:125:10: error: class 'ModelInfo' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
                friend class ModelInfo;
                       ^
../src/Peripheral/../Data/ModelInfo.hpp:12:9: note: previous use is here
        struct ModelInfo
               ^
../src/Peripheral/../Emulator.hpp:125:10: note: did you mean struct here?
                friend class ModelInfo;
                       ^~~~~
                       struct
2 errors generated.
[2/20] Compiling C++ object emulator.p/src_Data_ModelInfo.cpp.o
FAILED: emulator.p/src_Data_ModelInfo.cpp.o
c++ -Iemulator.p -I. -I.. -I/usr/local/include -I/usr/local/include/SDL2 -I/usr/local/Cellar/libpng/1.6.39/include/libpng16 -I/usr/local/Cellar/jpeg-xl/0.8.1/include -I/usr/local/Cellar/highway/1.0.3/include -I/usr/local/Cellar/brotli/1.0.9/include -I/usr/local/Cellar/jpeg-turbo/2.1.5.1/include -I/usr/local/Cellar/libtiff/4.4.0_1/include -I/usr/local/Cellar/libavif/0.11.1/include -I/usr/local/Cellar/webp/1.3.0/include -I/usr/local/Cellar/webp/1.3.0/include/webp -I/usr/local/opt/lua@5.3/include/lua -I/usr/local/Cellar/readline/8.2.1/include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c++11 -O0 -g -DHWY_SHARED_DEFINE -DAVIF_DLL -D_THREAD_SAFE -MD -MQ emulator.p/src_Data_ModelInfo.cpp.o -MF emulator.p/src_Data_ModelInfo.cpp.o.d -o emulator.p/src_Data_ModelInfo.cpp.o -c ../src/Data/ModelInfo.cpp
In file included from ../src/Data/ModelInfo.cpp:3:
In file included from ../src/Data/../Emulator.hpp:16:
../src/Data/../Data/SpriteInfo.hpp:8:2: error: 'SpriteInfo' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
        struct SpriteInfo
        ^
../src/Data/../Data/ModelInfo.hpp:9:2: note: did you mean struct here?
        class SpriteInfo;
        ^~~~~
        struct
In file included from ../src/Data/ModelInfo.cpp:3:
../src/Data/../Emulator.hpp:125:10: error: class 'ModelInfo' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
                friend class ModelInfo;
                       ^
../src/Data/../Data/ModelInfo.hpp:12:9: note: previous use is here
        struct ModelInfo
               ^
../src/Data/../Emulator.hpp:125:10: note: did you mean struct here?
                friend class ModelInfo;
                       ^~~~~
                       struct
In file included from ../src/Data/ModelInfo.cpp:5:
../src/Data/ColourInfo.hpp:8:2: error: 'ColourInfo' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
        struct ColourInfo
        ^
../src/Data/../Data/ModelInfo.hpp:10:2: note: did you mean struct here?
        class ColourInfo;
        ^~~~~
        struct
3 errors generated.
[3/20] Compiling C++ object emulator.p/src_Peripheral_Timer.cpp.o
FAILED: emulator.p/src_Peripheral_Timer.cpp.o
c++ -Iemulator.p -I. -I.. -I/usr/local/include -I/usr/local/include/SDL2 -I/usr/local/Cellar/libpng/1.6.39/include/libpng16 -I/usr/local/Cellar/jpeg-xl/0.8.1/include -I/usr/local/Cellar/highway/1.0.3/include -I/usr/local/Cellar/brotli/1.0.9/include -I/usr/local/Cellar/jpeg-turbo/2.1.5.1/include -I/usr/local/Cellar/libtiff/4.4.0_1/include -I/usr/local/Cellar/libavif/0.11.1/include -I/usr/local/Cellar/webp/1.3.0/include -I/usr/local/Cellar/webp/1.3.0/include/webp -I/usr/local/opt/lua@5.3/include/lua -I/usr/local/Cellar/readline/8.2.1/include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c++11 -O0 -g -DHWY_SHARED_DEFINE -DAVIF_DLL -D_THREAD_SAFE -MD -MQ emulator.p/src_Peripheral_Timer.cpp.o -MF emulator.p/src_Peripheral_Timer.cpp.o.d -o emulator.p/src_Peripheral_Timer.cpp.o -c ../src/Peripheral/Timer.cpp
In file included from ../src/Peripheral/Timer.cpp:5:
In file included from ../src/Peripheral/../Emulator.hpp:16:
../src/Peripheral/../Data/SpriteInfo.hpp:8:2: error: 'SpriteInfo' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
        struct SpriteInfo
        ^
../src/Peripheral/../Data/ModelInfo.hpp:9:2: note: did you mean struct here?
        class SpriteInfo;
        ^~~~~
        struct
In file included from ../src/Peripheral/Timer.cpp:5:
../src/Peripheral/../Emulator.hpp:125:10: error: class 'ModelInfo' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
                friend class ModelInfo;
                       ^
../src/Peripheral/../Data/ModelInfo.hpp:12:9: note: previous use is here
        struct ModelInfo
               ^
../src/Peripheral/../Emulator.hpp:125:10: note: did you mean struct here?
                friend class ModelInfo;
                       ^~~~~
                       struct
2 errors generated.
[4/20] Compiling C++ object emulator.p/src_Peripheral_Screen.cpp.o
FAILED: emulator.p/src_Peripheral_Screen.cpp.o
c++ -Iemulator.p -I. -I.. -I/usr/local/include -I/usr/local/include/SDL2 -I/usr/local/Cellar/libpng/1.6.39/include/libpng16 -I/usr/local/Cellar/jpeg-xl/0.8.1/include -I/usr/local/Cellar/highway/1.0.3/include -I/usr/local/Cellar/brotli/1.0.9/include -I/usr/local/Cellar/jpeg-turbo/2.1.5.1/include -I/usr/local/Cellar/libtiff/4.4.0_1/include -I/usr/local/Cellar/libavif/0.11.1/include -I/usr/local/Cellar/webp/1.3.0/include -I/usr/local/Cellar/webp/1.3.0/include/webp -I/usr/local/opt/lua@5.3/include/lua -I/usr/local/Cellar/readline/8.2.1/include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c++11 -O0 -g -DHWY_SHARED_DEFINE -DAVIF_DLL -D_THREAD_SAFE -MD -MQ emulator.p/src_Peripheral_Screen.cpp.o -MF emulator.p/src_Peripheral_Screen.cpp.o.d -o emulator.p/src_Peripheral_Screen.cpp.o -c ../src/Peripheral/Screen.cpp
In file included from ../src/Peripheral/Screen.cpp:9:
In file included from ../src/Peripheral/../Emulator.hpp:15:
../src/Peripheral/../Data/ModelInfo.hpp:9:2: error: class 'SpriteInfo' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
        class SpriteInfo;
        ^
../src/Peripheral/../Data/SpriteInfo.hpp:8:9: note: previous use is here
        struct SpriteInfo
               ^
../src/Peripheral/../Data/ModelInfo.hpp:9:2: note: did you mean struct here?
        class SpriteInfo;
        ^~~~~
        struct
../src/Peripheral/../Data/ModelInfo.hpp:10:2: error: class 'ColourInfo' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
        class ColourInfo;
        ^
../src/Peripheral/../Data/ColourInfo.hpp:8:9: note: previous use is here
        struct ColourInfo
               ^
../src/Peripheral/../Data/ModelInfo.hpp:10:2: note: did you mean struct here?
        class ColourInfo;
        ^~~~~
        struct
In file included from ../src/Peripheral/Screen.cpp:9:
../src/Peripheral/../Emulator.hpp:125:10: error: class 'ModelInfo' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
                friend class ModelInfo;
                       ^
../src/Peripheral/../Data/ModelInfo.hpp:12:9: note: previous use is here
        struct ModelInfo
               ^
../src/Peripheral/../Emulator.hpp:125:10: note: did you mean struct here?
                friend class ModelInfo;
                       ^~~~~
                       struct
../src/Peripheral/Screen.cpp:109:40: error: explicit specialization of 'Sprite' after instantiation
        template <> enum Screen<HW_CLASSWIZ>::Sprite : unsigned
                                              ^
../src/Peripheral/Screen.cpp:96:24: note: implicit instantiation first required here
        template <> const int Screen<HW_CLASSWIZ>::N_ROW = 63;
                              ^
../src/Peripheral/Screen.cpp:135:39: error: explicit specialization of 'Sprite' after instantiation
        template <> enum Screen<HW_ES_PLUS>::Sprite : unsigned
                                             ^
../src/Peripheral/Screen.cpp:101:24: note: implicit instantiation first required here
        template <> const int Screen<HW_ES_PLUS>::N_ROW = 31;
                              ^
../src/Peripheral/Screen.cpp:162:67: error: use of undeclared identifier 'SPR_MAX'
        template<> const SpriteBitmap Screen<HW_CLASSWIZ>::sprite_bitmap[SPR_MAX] = {
                                                                         ^
../src/Peripheral/Screen.cpp:186:66: error: use of undeclared identifier 'SPR_MAX'
        template<> const SpriteBitmap Screen<HW_ES_PLUS>::sprite_bitmap[SPR_MAX] = {
                                                                        ^
../src/Peripheral/Screen.cpp:210:36: error: no member named 'SPR_MAX' in 'casioemu::Screen<casioemu::HW_ES_PLUS>::Sprite'
                auto constexpr SPR_MAX = Sprite::SPR_MAX;
                                         ~~~~~~~~^
../src/Peripheral/Screen.cpp:337:15: note: in instantiation of member function 'casioemu::Screen<casioemu::HW_ES_PLUS>::Initialise' requested here
                        return new Screen<HW_ES_PLUS>(emulator);
                                   ^
../src/Peripheral/Screen.cpp:299:26: error: no member named 'SPR_PIXEL' in 'casioemu::Screen<casioemu::HW_ES_PLUS>::Sprite'
                        for (int ix = Sprite::SPR_PIXEL + 1; ix != Sprite::SPR_MAX; ++ix)
                                      ~~~~~~~~^
../src/Peripheral/Screen.cpp:337:15: note: in instantiation of member function 'casioemu::Screen<casioemu::HW_ES_PLUS>::Frame' requested here
                        return new Screen<HW_ES_PLUS>(emulator);
                                   ^
../src/Peripheral/Screen.cpp:311:46: error: no member named 'SPR_PIXEL' in 'casioemu::Screen<casioemu::HW_ES_PLUS>::Sprite'
                        static constexpr auto SPR_PIXEL = Sprite::SPR_PIXEL;
                                                          ~~~~~~~~^
../src/Peripheral/Screen.cpp:210:36: error: no member named 'SPR_MAX' in 'casioemu::Screen<casioemu::HW_CLASSWIZ>::Sprite'
                auto constexpr SPR_MAX = Sprite::SPR_MAX;
                                         ~~~~~~~~^
../src/Peripheral/Screen.cpp:340:15: note: in instantiation of member function 'casioemu::Screen<casioemu::HW_CLASSWIZ>::Initialise' requested here
                        return new Screen<HW_CLASSWIZ>(emulator);
                                   ^
../src/Peripheral/Screen.cpp:299:26: error: no member named 'SPR_PIXEL' in 'casioemu::Screen<casioemu::HW_CLASSWIZ>::Sprite'
                        for (int ix = Sprite::SPR_PIXEL + 1; ix != Sprite::SPR_MAX; ++ix)
                                      ~~~~~~~~^
../src/Peripheral/Screen.cpp:340:15: note: in instantiation of member function 'casioemu::Screen<casioemu::HW_CLASSWIZ>::Frame' requested here
                        return new Screen<HW_CLASSWIZ>(emulator);
                                   ^
../src/Peripheral/Screen.cpp:311:46: error: no member named 'SPR_PIXEL' in 'casioemu::Screen<casioemu::HW_CLASSWIZ>::Sprite'
                        static constexpr auto SPR_PIXEL = Sprite::SPR_PIXEL;
                                                          ~~~~~~~~^
13 errors generated.
[5/20] Compiling C++ object emulator.p/src_Peripheral_ROMWindow.cpp.o
FAILED: emulator.p/src_Peripheral_ROMWindow.cpp.o
c++ -Iemulator.p -I. -I.. -I/usr/local/include -I/usr/local/include/SDL2 -I/usr/local/Cellar/libpng/1.6.39/include/libpng16 -I/usr/local/Cellar/jpeg-xl/0.8.1/include -I/usr/local/Cellar/highway/1.0.3/include -I/usr/local/Cellar/brotli/1.0.9/include -I/usr/local/Cellar/jpeg-turbo/2.1.5.1/include -I/usr/local/Cellar/libtiff/4.4.0_1/include -I/usr/local/Cellar/libavif/0.11.1/include -I/usr/local/Cellar/webp/1.3.0/include -I/usr/local/Cellar/webp/1.3.0/include/webp -I/usr/local/opt/lua@5.3/include/lua -I/usr/local/Cellar/readline/8.2.1/include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c++11 -O0 -g -DHWY_SHARED_DEFINE -DAVIF_DLL -D_THREAD_SAFE -MD -MQ emulator.p/src_Peripheral_ROMWindow.cpp.o -MF emulator.p/src_Peripheral_ROMWindow.cpp.o.d -o emulator.p/src_Peripheral_ROMWindow.cpp.o -c ../src/Peripheral/ROMWindow.cpp
In file included from ../src/Peripheral/ROMWindow.cpp:6:
In file included from ../src/Peripheral/../Emulator.hpp:16:
../src/Peripheral/../Data/SpriteInfo.hpp:8:2: error: 'SpriteInfo' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
        struct SpriteInfo
        ^
../src/Peripheral/../Data/ModelInfo.hpp:9:2: note: did you mean struct here?
        class SpriteInfo;
        ^~~~~
        struct
In file included from ../src/Peripheral/ROMWindow.cpp:6:
../src/Peripheral/../Emulator.hpp:125:10: error: class 'ModelInfo' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
                friend class ModelInfo;
                       ^
../src/Peripheral/../Data/ModelInfo.hpp:12:9: note: previous use is here
        struct ModelInfo
               ^
../src/Peripheral/../Emulator.hpp:125:10: note: did you mean struct here?
                friend class ModelInfo;
                       ^~~~~
                       struct
2 errors generated.
[6/20] Compiling C++ object emulator.p/src_Peripheral_Keyboard.cpp.o
FAILED: emulator.p/src_Peripheral_Keyboard.cpp.o
c++ -Iemulator.p -I. -I.. -I/usr/local/include -I/usr/local/include/SDL2 -I/usr/local/Cellar/libpng/1.6.39/include/libpng16 -I/usr/local/Cellar/jpeg-xl/0.8.1/include -I/usr/local/Cellar/highway/1.0.3/include -I/usr/local/Cellar/brotli/1.0.9/include -I/usr/local/Cellar/jpeg-turbo/2.1.5.1/include -I/usr/local/Cellar/libtiff/4.4.0_1/include -I/usr/local/Cellar/libavif/0.11.1/include -I/usr/local/Cellar/webp/1.3.0/include -I/usr/local/Cellar/webp/1.3.0/include/webp -I/usr/local/opt/lua@5.3/include/lua -I/usr/local/Cellar/readline/8.2.1/include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c++11 -O0 -g -DHWY_SHARED_DEFINE -DAVIF_DLL -D_THREAD_SAFE -MD -MQ emulator.p/src_Peripheral_Keyboard.cpp.o -MF emulator.p/src_Peripheral_Keyboard.cpp.o.d -o emulator.p/src_Peripheral_Keyboard.cpp.o -c ../src/Peripheral/Keyboard.cpp
In file included from ../src/Peripheral/Keyboard.cpp:6:
In file included from ../src/Peripheral/../Emulator.hpp:16:
../src/Peripheral/../Data/SpriteInfo.hpp:8:2: error: 'SpriteInfo' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
        struct SpriteInfo
        ^
../src/Peripheral/../Data/ModelInfo.hpp:9:2: note: did you mean struct here?
        class SpriteInfo;
        ^~~~~
        struct
In file included from ../src/Peripheral/Keyboard.cpp:6:
../src/Peripheral/../Emulator.hpp:125:10: error: class 'ModelInfo' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
                friend class ModelInfo;
                       ^
../src/Peripheral/../Data/ModelInfo.hpp:12:9: note: previous use is here
        struct ModelInfo
               ^
../src/Peripheral/../Emulator.hpp:125:10: note: did you mean struct here?
                friend class ModelInfo;
                       ^~~~~
                       struct
2 errors generated.
[7/20] Compiling C++ object emulator.p/src_Peripheral_Miscellaneous.cpp.o
FAILED: emulator.p/src_Peripheral_Miscellaneous.cpp.o
c++ -Iemulator.p -I. -I.. -I/usr/local/include -I/usr/local/include/SDL2 -I/usr/local/Cellar/libpng/1.6.39/include/libpng16 -I/usr/local/Cellar/jpeg-xl/0.8.1/include -I/usr/local/Cellar/highway/1.0.3/include -I/usr/local/Cellar/brotli/1.0.9/include -I/usr/local/Cellar/jpeg-turbo/2.1.5.1/include -I/usr/local/Cellar/libtiff/4.4.0_1/include -I/usr/local/Cellar/libavif/0.11.1/include -I/usr/local/Cellar/webp/1.3.0/include -I/usr/local/Cellar/webp/1.3.0/include/webp -I/usr/local/opt/lua@5.3/include/lua -I/usr/local/Cellar/readline/8.2.1/include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c++11 -O0 -g -DHWY_SHARED_DEFINE -DAVIF_DLL -D_THREAD_SAFE -MD -MQ emulator.p/src_Peripheral_Miscellaneous.cpp.o -MF emulator.p/src_Peripheral_Miscellaneous.cpp.o.d -o emulator.p/src_Peripheral_Miscellaneous.cpp.o -c ../src/Peripheral/Miscellaneous.cpp
In file included from ../src/Peripheral/Miscellaneous.cpp:4:
In file included from ../src/Peripheral/../Emulator.hpp:16:
../src/Peripheral/../Data/SpriteInfo.hpp:8:2: error: 'SpriteInfo' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
        struct SpriteInfo
        ^
../src/Peripheral/../Data/ModelInfo.hpp:9:2: note: did you mean struct here?
        class SpriteInfo;
        ^~~~~
        struct
In file included from ../src/Peripheral/Miscellaneous.cpp:4:
../src/Peripheral/../Emulator.hpp:125:10: error: class 'ModelInfo' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
                friend class ModelInfo;
                       ^
../src/Peripheral/../Data/ModelInfo.hpp:12:9: note: previous use is here
        struct ModelInfo
               ^
../src/Peripheral/../Emulator.hpp:125:10: note: did you mean struct here?
                friend class ModelInfo;
                       ^~~~~
                       struct
2 errors generated.
[8/20] Compiling C++ object emulator.p/src_casioemu.cpp.o
FAILED: emulator.p/src_casioemu.cpp.o
c++ -Iemulator.p -I. -I.. -I/usr/local/include -I/usr/local/include/SDL2 -I/usr/local/Cellar/libpng/1.6.39/include/libpng16 -I/usr/local/Cellar/jpeg-xl/0.8.1/include -I/usr/local/Cellar/highway/1.0.3/include -I/usr/local/Cellar/brotli/1.0.9/include -I/usr/local/Cellar/jpeg-turbo/2.1.5.1/include -I/usr/local/Cellar/libtiff/4.4.0_1/include -I/usr/local/Cellar/libavif/0.11.1/include -I/usr/local/Cellar/webp/1.3.0/include -I/usr/local/Cellar/webp/1.3.0/include/webp -I/usr/local/opt/lua@5.3/include/lua -I/usr/local/Cellar/readline/8.2.1/include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c++11 -O0 -g -DHWY_SHARED_DEFINE -DAVIF_DLL -D_THREAD_SAFE -MD -MQ emulator.p/src_casioemu.cpp.o -MF emulator.p/src_casioemu.cpp.o.d -o emulator.p/src_casioemu.cpp.o -c ../src/casioemu.cpp
In file included from ../src/casioemu.cpp:13:
In file included from ../src/Emulator.hpp:16:
../src/Data/SpriteInfo.hpp:8:2: error: 'SpriteInfo' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
        struct SpriteInfo
        ^
../src/Data/ModelInfo.hpp:9:2: note: did you mean struct here?
        class SpriteInfo;
        ^~~~~
        struct
In file included from ../src/casioemu.cpp:13:
../src/Emulator.hpp:125:10: error: class 'ModelInfo' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
                friend class ModelInfo;
                       ^
../src/Data/ModelInfo.hpp:12:9: note: previous use is here
        struct ModelInfo
               ^
../src/Emulator.hpp:125:10: note: did you mean struct here?
                friend class ModelInfo;
                       ^~~~~
                       struct
2 errors generated.
[9/20] Compiling C++ object emulator.p/src_Peripheral_BatteryBackedRAM.cpp.o
FAILED: emulator.p/src_Peripheral_BatteryBackedRAM.cpp.o
c++ -Iemulator.p -I. -I.. -I/usr/local/include -I/usr/local/include/SDL2 -I/usr/local/Cellar/libpng/1.6.39/include/libpng16 -I/usr/local/Cellar/jpeg-xl/0.8.1/include -I/usr/local/Cellar/highway/1.0.3/include -I/usr/local/Cellar/brotli/1.0.9/include -I/usr/local/Cellar/jpeg-turbo/2.1.5.1/include -I/usr/local/Cellar/libtiff/4.4.0_1/include -I/usr/local/Cellar/libavif/0.11.1/include -I/usr/local/Cellar/webp/1.3.0/include -I/usr/local/Cellar/webp/1.3.0/include/webp -I/usr/local/opt/lua@5.3/include/lua -I/usr/local/Cellar/readline/8.2.1/include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c++11 -O0 -g -DHWY_SHARED_DEFINE -DAVIF_DLL -D_THREAD_SAFE -MD -MQ emulator.p/src_Peripheral_BatteryBackedRAM.cpp.o -MF emulator.p/src_Peripheral_BatteryBackedRAM.cpp.o.d -o emulator.p/src_Peripheral_BatteryBackedRAM.cpp.o -c ../src/Peripheral/BatteryBackedRAM.cpp
In file included from ../src/Peripheral/BatteryBackedRAM.cpp:5:
In file included from ../src/Peripheral/../Emulator.hpp:16:
../src/Peripheral/../Data/SpriteInfo.hpp:8:2: error: 'SpriteInfo' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
        struct SpriteInfo
        ^
../src/Peripheral/../Data/ModelInfo.hpp:9:2: note: did you mean struct here?
        class SpriteInfo;
        ^~~~~
        struct
In file included from ../src/Peripheral/BatteryBackedRAM.cpp:5:
../src/Peripheral/../Emulator.hpp:125:10: error: class 'ModelInfo' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
                friend class ModelInfo;
                       ^
../src/Peripheral/../Data/ModelInfo.hpp:12:9: note: previous use is here
        struct ModelInfo
               ^
../src/Peripheral/../Emulator.hpp:125:10: note: did you mean struct here?
                friend class ModelInfo;
                       ^~~~~
                       struct
2 errors generated.
[10/20] Compiling C++ object emulator.p/src_Emulator.cpp.o
FAILED: emulator.p/src_Emulator.cpp.o
c++ -Iemulator.p -I. -I.. -I/usr/local/include -I/usr/local/include/SDL2 -I/usr/local/Cellar/libpng/1.6.39/include/libpng16 -I/usr/local/Cellar/jpeg-xl/0.8.1/include -I/usr/local/Cellar/highway/1.0.3/include -I/usr/local/Cellar/brotli/1.0.9/include -I/usr/local/Cellar/jpeg-turbo/2.1.5.1/include -I/usr/local/Cellar/libtiff/4.4.0_1/include -I/usr/local/Cellar/libavif/0.11.1/include -I/usr/local/Cellar/webp/1.3.0/include -I/usr/local/Cellar/webp/1.3.0/include/webp -I/usr/local/opt/lua@5.3/include/lua -I/usr/local/Cellar/readline/8.2.1/include -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c++11 -O0 -g -DHWY_SHARED_DEFINE -DAVIF_DLL -D_THREAD_SAFE -MD -MQ emulator.p/src_Emulator.cpp.o -MF emulator.p/src_Emulator.cpp.o.d -o emulator.p/src_Emulator.cpp.o -c ../src/Emulator.cpp
In file included from ../src/Emulator.cpp:1:
In file included from ../src/Emulator.hpp:16:
../src/Data/SpriteInfo.hpp:8:2: error: 'SpriteInfo' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
        struct SpriteInfo
        ^
../src/Data/ModelInfo.hpp:9:2: note: did you mean struct here?
        class SpriteInfo;
        ^~~~~
        struct
In file included from ../src/Emulator.cpp:1:
../src/Emulator.hpp:125:10: error: class 'ModelInfo' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
                friend class ModelInfo;
                       ^
../src/Data/ModelInfo.hpp:12:9: note: previous use is here
        struct ModelInfo
               ^
../src/Emulator.hpp:125:10: note: did you mean struct here?
                friend class ModelInfo;
                       ^~~~~
                       struct
2 errors generated.
ninja: build stopped: subcommand failed.
user202729 commented 1 year ago

I don't use this anymore, but if you can fix the bug yourself please send pull request.

dongguaguaguagua commented 5 months ago

Have you solved? I met exactly the same error.