Linux 切换到raspberry pi交叉编译器会中断ncurses

Linux 切换到raspberry pi交叉编译器会中断ncurses,linux,cmake,raspberry-pi,clion,ncurses,Linux,Cmake,Raspberry Pi,Clion,Ncurses,我正试图为我在CLion中的raspberry pi编译一个简短的测试程序。我已经建立了两个工具链,一个是用gcc和g++编译的,这样我就可以在本地测试程序,另一个是用raspberry pi交叉编译器编译的,使用arm-linux-gnueabihf-gcc和arm-linux-gnueabihf-c++(从) 当我使用本地工具链进行编译时,不会发生错误,并且工作正常。当我切换到raspberry pi工具链时,出现以下错误: /home/[username]/CLionProjects/un

我正试图为我在CLion中的raspberry pi编译一个简短的测试程序。我已经建立了两个工具链,一个是用gcc和g++编译的,这样我就可以在本地测试程序,另一个是用raspberry pi交叉编译器编译的,使用arm-linux-gnueabihf-gcc和arm-linux-gnueabihf-c++(从)

当我使用本地工具链进行编译时,不会发生错误,并且工作正常。当我切换到raspberry pi工具链时,出现以下错误:

/home/[username]/CLionProjects/untitled/main.cpp:1:10:致命错误:ncurses.h:没有这样的文件或目录

我认为这可能是我的CmakeLists.txt文件的一个问题,但它在编译时与本地工具链没有任何问题。这两个工具链都在没有ncurses的情况下工作,我使用std::cout而不是ncurses使用一个简单的hello world程序对它们进行了测试,它们在各自的设备上编译并运行

    cmake_minimum_required(VERSION 3.13)
    project(untitled)
    set(CMAKE_CXX_STANDARD 14)
    set(CURSES_USE_NCURSES TRUE)
    find_package(Curses REQUIRED)
    include_directories(${CURSES_INCLUDE_DIR})
    set(CMAKE_CXX_FLAGS "-lncurses")
    set(CMAKE_C_STANDARD "%{CMAKE_C_FLAGS} -Wall -Werror -lpdcurses")
    set(SOURCE_FILES main.cpp)
    add_executable(untitled ${SOURCE_FILES})
    target_link_libraries(untitled ncurses)
我还为每个问题在FindCurses.cmake文件中添加了以下行


我不确定我在这里做错了什么,非常感谢所有的帮助。

诅咒的内容是什么?在
include\u目录
语句中使用该变量。(您可以使用
消息
命令打印变量值)。请注意,对于
FindCourses
模块建议使用
诅咒\u INCLUDE\u DIRS
而不是
诅咒\u INCLUDE\u DIR
。另外,
set(CMAKE\u CXX\u FLAGS“-lncurses”)
是错误的:
-l
是链接器标志,而不是编译器标志,CMAKE\u CXX\u FLAGS变量用于此标志。您可以设置
set(CMAKE_C_STANDARD…
只是一个垃圾…您是否编译并安装了针对目标体系结构交叉编译的ncurses库,并安装在交叉编译器库搜索路径中?两个CURSES_INCLUDE_DIR和CURSES_INCLUDE_DIRS message back/usr/INCLUDE,即包含ncurses.h的文件夹。其他几个人建议使用-lncurses标志呃,关于让ncurses正常工作的问题,所以我把它包括进来,它解决了一个早期的问题。cmake标准行是由我的IDE自动添加的。欢迎使用Stackoverflow!我同意
设置(CMAKE_C_标准…
命令看起来很奇怪。请注意
CMAKE_INCLUDE_PATH
应该是路径,而不是文件。好的,我将
CMAKE_库_PATH
CMAKE_INCLUDE_PATH
更改为路径而不是文件,没有更改。我删除了
集(CMAKE_C_STANDARD…
行,没有任何更改。我还从我的raspberry pi下载了ncurses文件,并试图在post的帮助下让它们工作,还更改了
CMAKE_库路径
CMAKE_INCLUDE_路径
,指向交叉编译的库,但没有效果。
    set(CMAKE_INCLUDE_PATH "/usr/include/ncurses.h")
    set(CMAKE_LIBRARY_PATH "/lib/x86_64-linux-gnu/libncurses.so")