【问题标题】:Include flag (ncurses) in CMAKE project on MAC OS X [duplicate]在 MAC OS X 上的 CMAKE 项目中包含标志(ncurses)
【发布时间】:2019-11-13 08:28:14
【问题描述】:

我正在尝试熟悉 ncurses。 当我在我的 IDE (cLion) 上编译这段代码时,它给了我错误:

“打开终端时出错:未知”

我使用的是 Mac OSX。

如果我使用终端编译: "g++ -lncurses main.cpp -o hello"

它编译并运行成功。 但我想弄清楚如何在 cLion 上编译和运行它。 我已经检查了该论坛上的所有内容,但无法解决此问题。我以各种方式修改了 CMakeLists.txt 文件,但都没有奏效。

问题出在哪里?

ma​​in.cpp

#include <ncurses.h>

using namespace std;

int main() {

    initscr();
    printw("Hello");
    refresh();
    int c = getch();
    printw("%d", c);
    getch();
    endwin();

    return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 3.15)
project(ncurses)

set(CMAKE_CXX_STANDARD 14)

set(CMAKE_CXX_FLAGS "-lncurses")

add_executable(lncurses main.cpp)

【问题讨论】:

    标签: c++ macos cmake clion ncurses


    【解决方案1】:

    CMAKE_CXX_FLAGS 是包含编译器 标志的变量,而不是链接器标志或库。

    使用target_link_libraries 命令添加要链接的库:

    target_link_libraries(lncurses ncurses)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-29
      • 1970-01-01
      相关资源
      最近更新 更多