Bevor Sie als ein Duplikat markieren, habe ich 8 verschiedene Fragen ähnlich zu diesem auf Stackoverflow gelesen, und noch mehr so an anderer Stelle. Ich würde dies nicht veröffentlichen, wenn eine dieser Antworten mein Problem lösen würde.CMake 3.9.1: Cmake nicht finden Bibliothek Ncurses
Ich verwendete diese genaue Vorlage mit den SDL2-Bibliotheken ohne ein Problem, die einzigen Änderungen, die ich machte, waren "SDL2" in "Curses" zusammen mit der set(CURSES_NEED_NCURSES TRUE)
Linie zu ändern. (Und das scheitert immer noch ohne diese Zeile für irgendjemand wundern)
Ja ich habe es installiert, und ich kann es problemlos kompilieren mit gcc main.c -lncurses
ohne Problem.
cmake_minimum_required (VERSION 2.6)
project (ncurses-practice)
# Version info
set(CMake_ncurses-practice_VERSION_MAJOR 1)
set(CMake_ncurses-practice_VERSION_MINOR 0)
# Common Variables
set(CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/bin)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR})
set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR})
set(SRC ${CMAKE_SOURCE_DIR}/src)
set(HDRS ${CMAKE_SOURCE_DIR}/headers)
set(CMAKE_C_FLAGS " -Wall")
# Set Ncurses
set(CURSES_NEED_NCURSES TRUE)
find_package(Curses)
# Debug
set(CMAKE_BUILD_TYPE Debug)
# Source Files
set(SRC_FILES
${SRC}/main.c
)
# Included directories
include_directories("src" "headers" ${CURSES_INCLUDE_DIRS})
# Generate Executable
add_executable(a.out ${SRC_FILES})
# Add libraries here after the project name
target_link_libraries(ncurses-practice ${CURSES_LIBARIES})
Jede Fehlermeldung? – arrowd
Möglicherweise nicht mit dem Fehler verbunden, aber: 'set (CMAKE_BINARY_DIR ...)' - ** Setze nie die 'CMAKE_BINARY_DIR'-Variable. Viele externe und interne Skripts gehen davon aus, dass es auf das Binärverzeichnis der obersten Ebene verweist. 'set (CMake_ncurses-praxis_VERSION_MAJOR 1)' - "CMAKE" sollte hier in Großbuchstaben sein. Ansonsten hat Variable für CMake keine Bedeutung. – Tsyvarev
Haben Sie FindCurses, cmake in Ihrem CMAKE_MODULE_PATH? –