Ich versuche, das CheckIncludeFileCXX
Modul zu überprüfen, <gsl/gsl>
ist im System vorhanden. GSL existiert bei /usr/local/include/gsl/gsl
aber Generation versagt bei "GSL not found"
CheckIncludeFileCXX findet keine Kopfzeile
project(cpp-binaries)
cmake_minimum_required(VERSION 3.2)
include(CheckIncludeFileCXX)
CHECK_INCLUDE_FILE_CXX("gsl/gsl" GSL_LIBRARY)
if(NOT GSL_LIBRARY)
message(FATAL_ERROR "GSL not found")
endif(NOT GSL_LIBRARY)
add_executable(
cpp-binaries
"main.cpp"
)
Ich bin nicht vertraut mit 'GSL', aber sind Sie sicher, dass die Kopfzeile kein' .h' am Ende hat? Ansonsten benutze den Compiler nicht um den Header zu finden, benutze CMake Module (in deinem Fall ['FindGSL'] (https://cmake.org/cmake/help/latest/module/FindGSL.html)) oder [' find_file() '] (https://cmake.org/cmake/help/latest/command/find_file.html) Befehl. Oder versuchen Sie zuerst 'set (CMAKE_REQUIRED_INCLUDES"/usr/local/include ")'. – Florian
[GSL] (https://github.com/Microsoft/GSL) ist eine Nur-Header-Bibliothek und es gibt keine .h. Es wird auch nicht funktionieren, nachdem 'CMAKE_REQUIRED_INCLUDES' gesetzt wurde –