Open2
OpenSiv3D on ArchLinuxまとめ
ソースコードを自力で修正
ビルド時のエラーで詰まった②
基本はエラーメッセージを見ていい感じに治す
僕が発生したのは2件
/home/USERNAME/CLionProjects/PROJECTNAME/OpenSiv3D/Linux/../Siv3D/include/ThirdParty/simde/x86/sse2.h:3514:30: エラー: redefinition of ‘__m128i simde_mm_loadu_epi64(const void*)’
3514 | #define _mm_loadu_epi64(a) simde_mm_loadu_epi64(a)
| ^~~~~~~~~~~~~~~~~~~~
みたいなエラーが出た。重複して宣言してる?っぽいので、この行をコメントアウトしたらうまく行った。
64だけではなく32/16/8もあるので同様にして解決
/home/USERNAME/CLionProjects/PROJECTNAME/OpenSiv3D/Siv3D/src/ThirdParty/GLFW/x11_window.c: 関数 ‘_glfwCreateInputContextX11’ 内:
/home/USERNAME/CLionProjects/PROJECTNAME/OpenSiv3D/Siv3D/src/ThirdParty/GLFW/x11_window.c:2028:55: エラー: 互換性のないポインタ型から 1 番目の ‘s3d_PreeditAttributes’ の引数に渡しています [-Wincompatible-pointer-types]
2028 | XVaNestedList preeditAttr = s3d_PreeditAttributes(window);
| ^~~~~~
| |
| _GLFWwindow *
これは、型があってないって言われた。なので、エラーが起きてる箇所を以下のように修正した
XVaNestedList preeditAttr = s3d_PreeditAttributes((XPointer)window);
キャストするだけで治るし、逆に今までどうやって動いてたのか...