Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
cmake不提供非链接课程_Cmake_Ncurses - Fatal编程技术网

cmake不提供非链接课程

cmake不提供非链接课程,cmake,ncurses,Cmake,Ncurses,我完全不关心cmake。我的CMakeLists非常基本: cmake_最低要求(2.4.6版) #将生成的可执行文件的默认路径设置为“bin”目录 集合(可执行文件输出路径${PROJECT\u SOURCE\u DIR}/bin) #将生成库的默认路径设置为“lib”目录 集合(库\输出\路径${PROJECT\源\目录}/lib) #要加载Curses库,请执行以下操作: 设置(诅咒\u使用\u NCURSES TRUE) 包含目录( “src/” ) 添加子目录(src) 当我使链接器

我完全不关心cmake。我的CMakeLists非常基本:

cmake_最低要求(2.4.6版)
#将生成的可执行文件的默认路径设置为“bin”目录
集合(可执行文件输出路径${PROJECT\u SOURCE\u DIR}/bin)
#将生成库的默认路径设置为“lib”目录
集合(库\输出\路径${PROJECT\源\目录}/lib)
#要加载Curses库,请执行以下操作:
设置(诅咒\u使用\u NCURSES TRUE)
包含目录(
“src/”
)
添加子目录(src)

当我使链接器找不到ncurses命令时,在make的详细模式下,我看到编译器没有添加-lncurse。在使用第三方LIB之前,您应该找到它!
ncurses
的情况下,您需要添加
find_package(需要诅咒)
,然后在调用
target_link_LIBRARIES()
target_include_目录(…${Curses_include_DIR})
对于超级noob,请记住
target_link_LIBRARIES()
需要在下面
添加可执行文件()


您不应该设置可执行的\u输出\u路径相对于项目\u源\u目录,因为这使得无法执行正确的树外构建。谢谢!这成功了!对于完整的noobs,它是target_link_库(您的${CURSES_libraries}),我使用了
CURSES\u INCLUDE_DIR
CURSES_库
,一旦我将它们大写,它就工作了
cmake_minimum_required(VERSION 2.8) project(main)

find_package(Curses REQUIRED)
include_directories(${CURSES_INCLUDE_DIR})

add_executable(main main.cpp)
target_link_libraries(main ${CURSES_LIBRARIES})