CMake code segment is below
find_package(Curses REQUIRED)
include_directories(${CURSES_INCLUDE_DIR})
MESSAGE(STATUS "CURSES_INCLUDE_DIR is ${CURSES_INCLUDE_DIR}")
And I do have nucures installed. The header file can be found.
However, after running cmake ., I got
CMake Error at /usr/share/cmake-3.23.2/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
Call Stack (most recent call first):
/usr/share/cmake-3.23.2/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.23.2/Modules/FindCurses.cmake:268 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:34 (find_package)
After using cmake in /mingw64/bin instead of /usr/bin, the cmake can pass. Successfully generate build.ninja
or makefile for mingw32.
But after running mingw32-make or ninja,I got new errors:
(basically they are about error and curses.h path)
mingw32-make[1]: Entering directory 'C:/Users/Caikera/Documents/workspace/sw/cpp/tetris/Build'
-- C:/Users/Caikera/Documents/workspace/sw/cpp/tetris
-- CURSES_INCLUDE_DIR is C:/packages/msys2/mingw64/include
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/Caikera/Documents/workspace/sw/cpp/tetris/Build
mingw32-make[2]: Entering directory 'C:/Users/Caikera/Documents/workspace/sw/cpp/tetris/Build'
mingw32-make[3]: Entering directory 'C:/Users/Caikera/Documents/workspace/sw/cpp/tetris/Build'
mingw32-make[3]: Leaving directory 'C:/Users/Caikera/Documents/workspace/sw/cpp/tetris/Build'
mingw32-make[3]: Entering directory 'C:/Users/Caikera/Documents/workspace/sw/cpp/tetris/Build'
[ 50%] Building CXX object CMakeFiles/tetris.dir/main.cpp.obj
In file included from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/ctime:42,
from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/chrono:42,
from C:\Users\Caikera\Documents\workspace\sw\cpp\tetris\main.cpp:6:
C:/packages/msys2/mingw64/include/time.h:12:2: 错误:#error Only Win32 target is supported!
12 | #error Only Win32 target is supported!
| ^~~~~
In file included from C:/packages/msys2/mingw64/include/time.h:25,
from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/ctime:42,
from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/chrono:42,
from C:\Users\Caikera\Documents\workspace\sw\cpp\tetris\main.cpp:6:
C:/packages/msys2/mingw64/include/sys/timeb.h:12:2: 错误:#error Only Win32 target is supported!
12 | #error Only Win32 target is supported!
| ^~~~~
In file included from C:/packages/msys2/mingw64/include/pthread.h:64,
from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/x86_64-pc-msys/bits/gthr-default.h:35,
from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/x86_64-pc-msys/bits/gthr.h:148,
from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/ext/atomicity.h:35,
from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/bits/ios_base.h:39,
from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/ios:42,
from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/ostream:38,
from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/iostream:39,
from C:\Users\Caikera\Documents\workspace\sw\cpp\tetris\main.cpp:8:
C:/packages/msys2/mingw64/include/sys/types.h:10:2: 错误:#error Only Win32 target is supported!
10 | #error Only Win32 target is supported!
| ^~~~~
In file included from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/cwctype:50,
from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/bits/locale_facets.h:39,
from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/bits/basic_ios.h:37,
from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/ios:44,
from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/ostream:38,
from /usr/lib/gcc/x86_64-pc-msys/11.3.0/include/c++/iostream:39,
from C:\Users\Caikera\Documents\workspace\sw\cpp\tetris\main.cpp:8:
C:/packages/msys2/mingw64/include/wctype.h:10:2: 错误:#error Only Win32 target is supported!
10 | #error Only Win32 target is supported!
| ^~~~~
C:\Users\Caikera\Documents\workspace\sw\cpp\tetris\main.cpp:15:10: 致命错误:curses.h:No such file or directory
15 | #include "curses.h"
| ^~~~~~~~~~