gpt4 book ai didi

cmake - 在 CLion CMake 中链接 ncurses

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:39:46 26 4
gpt4 key购买 nike

我目前正在研究 ncurses。 Ncurses 是我安装的库,不是我自己的文件。我已经做了一些事情,但使用 IDE 更容易,所以我决定使用 CLion(我在 Linux 上,所以不能使用 Visual Studio)。我得到以下 CMakeLists.txt:

cmake_minimum_required(VERSION 3.6)
project(ncurses)

set(CMAKE_C_STANDARD "${CMAKE_C_FLAGS} -Wall -Werror -lpdcurses")

set(SOURCE_FILES main.cpp ncurses.h)
add_executable(ncurses ${SOURCE_FILES})

我的项目叫做 ncurses 我不知道这是否重要。

我得到了以下 main.cpp

#include <ncurses.h>

int main() {
initscr();
printw("Hello");
refresh();
getch();
endwin();
return 0;
}

但是,我收到以下错误:

/opt/clion/bin/cmake/bin/cmake --build /home/josh/ClionProjects/ncurses /cmake-build-debug --target all -- -j 4
make[2]: *** No rule to make target 'CMakeFiles/ncurses.dir/build'. Stop.
make[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/ncurses.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

我不明白问题是什么。除了 lpdcurses 之外,我尝试了 -lncurses 但这也不起作用。它只会在构建时出错,但不会在 IDEA 本身中出错。

最佳答案

要告诉编译器使用 CMake 链接库,您应该使用 target_link_libraries() 函数。

将此添加到您的 CMakeLists.txt 中:

target_link_libraries(${PROJECT_NAME} ncurses)

但是,您的错误代码似乎不是由链接引起的。尝试在 add_executable() 之前添加此行:set(CMAKE_CXX_STANDARD 17)。将 17 替换为您想要的任何 C++ 版本。我很确定它不会改变任何东西,但值得一试。另外,不要忘记重新加载 cmake 项目并重置缓存。

关于cmake - 在 CLion CMake 中链接 ncurses,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41017629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com