ncursesはC++でキー入力系の処理をするためのライブラリです。
目次
ncursesのインストール
brew install ncurses
ncursesを使ったコードのコンパイルと実行
#include <iostream>
#include <ncurses.h>
int main() {
std::cout << "Hello, World!" << std::endl;
initscr();
printw("hoge");
endwin();
return 0;
}
ターミナルからコンパイルと実行
c++ main.cpp -lncurses
./a.out
CMakeを使ったコンパイルと実行
CMakeのインストール
brew install cmake
IDE CLionでCMake Applicationとして実行する場合
Run/Debug ConfigurationsでTargetの名称ncurses_test
を確認します。
CMakeLists.txtをmain.cppと同じフォルダに置きます。アプリケーションの名前は先程確認したターゲットの名前ncurses_test
にしておきます。
cmake_minimum_required(VERSION 3.24)
project(ncurses_test)
set(CMAKE_CXX_STANDARD 17)
add_executable(ncurses_test main.cpp)
find_package(Curses REQUIRED)
include_directories(${CURSES_INCLUDE_DIR})
target_link_libraries(ncurses_test ${CURSES_LIBRARIES})
先程設定を確認したRun Configurationが選択されている状態で実行ボタンをクリックします。
以下のように動作すれば成功です。
/Users/xxx/CLionProjects/ncurses_test/cmake-build-debug/ncurses_test
Hello, World!
ESC>
Process finished with exit code 0
以下のエラーが表示される場合は、Run ConfigurationとCMakeLists.txtのターゲット名が異なる可能性があるため、再確認してください。
[0/1] Re-running CMake...
CMake Error at CMakeLists.txt:10 (target_link_libraries):
Cannot specify link libraries for target "test" which is not built by this
project.
ターミナルから実行する場合
コマンドラインから以下のように実行します。(Clionのターミナルではncursesは正常に表示されません。)
cmake .
make
./ncurses_test