#c #cmake #msys2 #pybind11
Вопрос:
Я использую MSYS2 для создания программы на c в Windows.
Это мое CMakeLists.txt
cmake_minimum_required(VERSION 3.11) project(lanmtsdk) set(CMAKE_CXX_STANDARD 14 CACHE STRING "C version selection") # find_package(Python COMPONENTS Interpreter Development REQUIRED) set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake;${CMAKE_MODULE_PATH}") include(pybind11) include_directories(.) add_library(lanmtsdk interface.cc) target_link_libraries(lanmtsdk PRIVATE pybind11::embed) add_executable(example example.cc) target_link_libraries(example PRIVATE pybind11::embed lanmtsdk)
Когда я настраиваю свой проект cmake, возникла ошибка.
-- pybind11 v2.8.1 -- Found PythonInterp: d:/ProgramFiles/anaconda3/python.exe (found version "3.7.9") -- Found PythonLibs: python37 -- Performing Test HAS_FLTO -- Performing Test HAS_FLTO - Success -- Configuring done CMake Error in CMakeLists.txt: Target "pybind11::embed" contains relative path in its INTERFACE_INCLUDE_DIRECTORIES: "D:/ProgramFiles/anaconda3/include" CMake Error in CMakeLists.txt: Target "pybind11::embed" contains relative path in its INTERFACE_INCLUDE_DIRECTORIES: "D:/ProgramFiles/anaconda3/include" -- Generating done CMake Generate step failed. Build files cannot be regenerated correctly.
«D:/ProgramFiles/anaconda3/include» это абсолютно правильный путь. Зачем делать ошибку, связанную с повышенным путем?