Skip to content

I can't build the C++ extention #3

@Haru00007

Description

@Haru00007

I'm confused as to why I can't build the C++ extension. Here is the error code when I tried to build them (I'm sorry for being written in Japanese):

>py -3.11 -m setup.py build_ext --inplace

running build_ext
building 'tetris' extension
"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.42.34433\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -IC:\Users\haruc\AppData\Local\Programs\Python\Python311\Lib\site-packages\numpy\core\include -IC:\Users\haruc\AppData\Local\Programs\Python\Python311\include -IC:\Users\haruc\AppData\Local\Programs\Python\Python311\Include "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.42.34433\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.42.34433\ATLMFC\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /EHsc /Tpboard.cpp /Fobuild\temp.win-amd64-cpython-311\Release\board.obj /std:c++20 /DLINE_CAP=430 /DADJ_DELAY=18 /DTAP_SPEED=Tap30Hz
board.cpp
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\src\hash.h(10): warning C4146: 符号付きの値を代入する変数は、符号付き型にキャストしなければなりません。
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\src\constexpr_helpers.h(138): warning C4244: '=': 'uint64_t' から 'uint8_t' への変換です。データが失われる可能性があります。
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\src\constexpr_helpers.h(138): warning C4244: '=': 'uint64_t' から 'uint8_t' への変換です。データが失われる可能性があります。
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\src\constexpr_helpers.h(138): warning C4244: '=': 'uint64_t' から 'uint8_t' への変換です。データが失われる可能性があります。
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\src\constexpr_helpers.h(138): warning C4244: '=': 'uint64_t' から 'uint8_t' への変換です。データが失われる可能性があります。
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\src\constexpr_helpers.h(139): warning C4244: '=': 'uint64_t' から 'uint8_t' への変換です。データが失われる可能性があります。
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\src\constexpr_helpers.h(139): warning C4244: '=': 'uint64_t' から 'uint8_t' への変換です。データが失われる可能性があります。
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\src\constexpr_helpers.h(139): warning C4244: '=': 'uint64_t' から 'uint8_t' への変換です。データが失われる可能性があります。
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\src\constexpr_helpers.h(161): warning C4244: '=': 'uint16_t' から 'uint8_t' への変換です。データが失われる可能性があります。
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\src\constexpr_helpers.h(178): warning C4068: 不明な pragma 'GCC'
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\src\constexpr_helpers.h(179): warning C4068: 不明な pragma 'GCC'
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\src\constexpr_helpers.h(185): warning C4068: 不明な pragma 'GCC'
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(350): warning C4068: 不明な pragma 'GCC'
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(351): warning C4068: 不明な pragma 'GCC'
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(358): warning C4068: 不明な pragma 'GCC'
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(204): warning C4267: '初期化中': 'size_t' から 'int' に変換しました。データが失われているかもしれません。
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(233): warning C4244: 'return': 'const uint64_t' から 'uint32_t' への変換です。データが失われる可能性があります。
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(241): warning C4244: 'return': 'T' から 'uint32_t' への変換です。データが失われる可能性があります。
        with
        [
            T=uint64_t
        ]
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(289): error C3615: constexpr 関数 'Board::ToBytes' を定数式にすることはできません
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(289): note: 型 'CompactBoard' がリテラル型ではないことがエラーの原因です
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(22): note: 型 'CompactBoard' は、その直接的な基底クラス 'SimpleIOArray<uint8_t,25>' がリテラル型ではないため、リテラル型ではありま せん
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\src\io_helpers.h(62): note: 型 'SimpleIOArray<uint8_t,25>' は、リテラル型ではありません。集約型やクロージャ型でないため、あるいはコピー コンストラクターまたは移動 コンストラクターではない constexpr コンストラクターがないためです。
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(355): warning C4838: 'const uint64_t' から 'uint32_t' への変換には縮小変換が必要です
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(355): warning C4244: '初期化中': 'const uint64_t' から 'uint32_t' への変換です。データが失われる可能性があります。
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(355): warning C4838: 'const uint64_t' から 'uint32_t' への変換には縮小変換が必要です
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(355): warning C4244: '初期化中': 'const uint64_t' から 'uint32_t' への変換です。データが失われる可能性があります。
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(355): warning C4838: 'const uint64_t' から 'uint32_t' への変換には縮小変換が必要です
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(355): warning C4244: '初期化中': 'const uint64_t' から 'uint32_t' への変換です。データが失われる可能性があります。
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(355): warning C4838: 'const uint64_t' から 'uint32_t' への変換には縮小変換が必要です
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(355): warning C4244: '初期化中': 'const uint64_t' から 'uint32_t' への変換です。データが失われる可能性があります。
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(356): warning C4838: 'uint64_t' から 'uint32_t' への変換には縮小変換が必要です
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(356): warning C4244: '初期化中': 'uint64_t' から 'uint32_t' への変換です。データが失われる可能性があります。
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(356): warning C4838: 'uint64_t' から 'uint32_t' への変換には縮小変換が必要です
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(356): warning C4244: '初期化中': 'uint64_t' から 'uint32_t' への変換です。データが失われる可能性があります。
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(356): warning C4838: 'uint64_t' から 'uint32_t' への変換には縮小変換が必要です
C:\Users\haruc\Downloads\betatetris-tablebase-main\betatetris-tablebase-main\python\tetris\../../src/board.h(356): warning C4244: '初期化中': 'uint64_t' から 'uint32_t' への変換です。データが失われる可能性があります。
error: command 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.42.34433\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2

How can I fix it?
Please tell me if you can.

Sincerely,
Haru00007

Windows 11 Home Edition Python 3.11 (I usually use 3.12, but I downgraded for it) VStudio Community 2022 17.12.4

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions