在 CMake 中导入头文件并链接 .a 文件
Importing header files and linking .a file in CMake
正在尝试将 Skia 放入我的 CMake 项目中。我如何告诉 CMake link 我的可执行文件反对 libskia.a
并使用 ext/skia
中的头文件以便我可以像这样包含它们?
#include <skia/subdirectory/headerfile.h>
我的项目结构目前如下:
.
├── CMakeLists.txt
├── CMakeLists.txt.user
├── ext
│ ├── libskia.a
│ └── skia
│ └── <subdirectories>
│ └── <header files>.h
└── src
└── main.cpp
和我的 CMakeLists.txt
:
cmake_minimum_required(VERSION 3.5)
project(project LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
add_executable(project src/main.cpp)
在您的主要 CMakeLists.txt 文件中,您只需添加以下内容:
target_link_libraries(project skia)
如果 CMake 找不到库,您可以这样做:
target_link_libraries(project /full/path/to/libskia.a)
或:
link_directories(/path/to/libraries)
target_link_libraries(project skia)
正在尝试将 Skia 放入我的 CMake 项目中。我如何告诉 CMake link 我的可执行文件反对 libskia.a
并使用 ext/skia
中的头文件以便我可以像这样包含它们?
#include <skia/subdirectory/headerfile.h>
我的项目结构目前如下:
.
├── CMakeLists.txt
├── CMakeLists.txt.user
├── ext
│ ├── libskia.a
│ └── skia
│ └── <subdirectories>
│ └── <header files>.h
└── src
└── main.cpp
和我的 CMakeLists.txt
:
cmake_minimum_required(VERSION 3.5)
project(project LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
add_executable(project src/main.cpp)
在您的主要 CMakeLists.txt 文件中,您只需添加以下内容:
target_link_libraries(project skia)
如果 CMake 找不到库,您可以这样做:
target_link_libraries(project /full/path/to/libskia.a)
或:
link_directories(/path/to/libraries)
target_link_libraries(project skia)