Попытка создать общую библиотеку с использованием сторонних библиотек, cmake и vcpkg.C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Попытка создать общую библиотеку с использованием сторонних библиотек, cmake и vcpkg.

Сообщение Anonymous »

Структура файла
Просто хотел создать библиотеку с использованием сторонней библиотеки, я использую Vcpkg и Cmake
CMakeLists.txt >

Код: Выделить всё

cmake_minimum_required(VERSION 3.28)

project(Vcpkg)

set (CMAKE_CXX_STANDARD 20)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

find_package(fmt REQUIRED)
find_package(spdlog REQUIRED)

file(GLOB SOURCES src/*.cpp include/*.hpp)
add_library(Vcpkg SHARED ${SOURCES})
add_library(vcpkg::engine ALIAS Vcpkg)

target_include_directories(Vcpkg
PUBLIC
$
$
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/src)

add_executable(akash ${SOURCES})

SET(GCC_COVERAGE_COMPILE_FLAGS "-g -O0 -coverage -fprofile-arcs -ftest-coverage")
SET(GCC_COVERAGE_LINK_FLAGS   "-coverage -lgcov")
SET(CMAKE_CXX_FLAGS  "${CMAKE_CXX_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS}" )
SET(CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}" )

target_compile_features(akash PRIVATE cxx_std_20)
target_link_libraries(akash
PRIVATE
vcpkg::engine
fmt::fmt
spdlog::spdlog
)
Ошибка

Код: Выделить всё

1/5] Scanning /home/akashdiphazra/Downloads/Vcpkg/src/main.cpp for CXX dependencies
FAILED: CMakeFiles/Vcpkg.dir/src/main.cpp.o.ddi
/usr/bin/c++ -DVcpkg_EXPORTS -I/home/akashdiphazra/Downloads/Vcpkg/include -I/home/akashdiphazra/Downloads/Vcpkg/src -g -O0 -coverage -fprofile-arcs -ftest-coverage -g -std=gnu++20 -fPIC -fdiagnostics-color=always -E -x c++ /home/akashdiphazra/Downloads/Vcpkg/src/main.cpp -MT CMakeFiles/Vcpkg.dir/src/main.cpp.o.ddi -MD -MF CMakeFiles/Vcpkg.dir/src/main.cpp.o.ddi.d -fmodules-ts -fdeps-file=CMakeFiles/Vcpkg.dir/src/main.cpp.o.ddi -fdeps-target=CMakeFiles/Vcpkg.dir/src/main.cpp.o -fdeps-format=p1689r5 -o CMakeFiles/Vcpkg.dir/src/main.cpp.o.ddi.i
/home/akashdiphazra/Downloads/Vcpkg/src/main.cpp:1:10: fatal error: fmt/color.h: No such file or directory
1 | #include 
|          ^~~~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
make: *** [Makefile:10: debug] Error 1
ninja.log

Код: Выделить всё

# ninja log v6
15  26803   1719332434965250296 CMakeFiles/akash.dir/src/main.cpp.o 384a56197d066769
3   14  1719332434953250355 /home/akashdiphazra/Downloads/Vcpkg/build/linux-debug/CMakeFiles/akash.dir/CXXModules.json  4879662838ccf47d
3   14  1719332434953250355 CMakeFiles/akash.dir/CXX.dd 4879662838ccf47d
3   14  1719332434953250355 CMakeFiles/akash.dir/src/main.cpp.o.modmap  4879662838ccf47d
1   2305    1719333409493404124 build.ninja 430dfc98276d9b78
4   549 1719332374774547644 CMakeFiles/akash.dir/src/main.cpp.o.ddi 8ee06fab8c85eae4
53  4480    1719333409493404124 build.ninja 430dfc98276d9b78
Ошибка возникает всякий раз, когда я пытаюсь отладить это. Он компилируется без vcpkg, но когда я пытался добавить сторонние библиотеки с помощью vcpkg , это не удалось.
он ​​компилируется успешно, когда
Root Dir< /p>

Код: Выделить всё

cmake_minimum_required (VERSION 3.28)

project(Vcpkg)

find_package(fmt REQUIRED)
find_package(spdlog REQUIRED)

# Add sub directories
include_directories(include)
add_subdirectory(src)

set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
src/CMakeList.txt

Код: Выделить всё

set (CMAKE_CXX_STANDARD 20)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

SET(GCC_COVERAGE_COMPILE_FLAGS "-g -O0 -coverage -fprofile-arcs -ftest-coverage")
SET(GCC_COVERAGE_LINK_FLAGS   "-coverage -lgcov")
SET(CMAKE_CXX_FLAGS  "${CMAKE_CXX_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS}" )
SET(CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}" )

add_executable(akash main.cpp)
target_compile_features(akash PRIVATE cxx_std_20)
target_link_libraries(akash fmt::fmt spdlog::spdlog)
я делаю что-то не так, я новичок в системах сборки Cmake.

Подробнее здесь: https://stackoverflow.com/questions/786 ... -and-vcpkg
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»