问题描述
我正在尝试创建一个自包含库,其依赖项是自包含的。所有安装都安装到
# CMake 3.16.3
# ../lib/Catch2/build is where Catch2Config.cmake is located
find_package(Catch2 required HINTS "../lib/Catch2/build" NO_MODULE)
include_directories(tests)
add_executable(tests tests.cpp)
target_link_libraries(tests PRIVATE project_warnings project_options Catch2::Catch2)
我认识到 Catch2 可能不需要它,因为它只是标题,但是我正在尝试了解 cmake 正在做什么。 上面的 CMakeLists.txt 打印出来
include Could not find load file:
<repo_dir>/lib/Catch2/build/Catch2Targets.cmake │
Call Stack (most recent call first):
tests/CMakeLists.txt:1 (find_package)
看起来还需要一个目标文件。我在 Catch2 存储库中找不到一个。 我也在为 folly 尝试相同的过程,但它对我也不起作用。 在模块模式下使用以下 Boost 工作。为什么有效?
set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "${PROJECT_SOURCE_DIR}/lib/boost_1_75_0/")
set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "${PROJECT_SOURCE_DIR}/lib/boost_1_75_0/libs")
find_package(Boost 1.60.0 required)
include_directories(${Boost_INCLUDE_Dirs})
target_link_libraries(${CMAKE_PROJECT_NAME} ${Boost_LIBRARIES})
有人可以帮助发现我的问题以及我应该如何使用
- 仅标头库
- 静态库二进制文件
- 自编译库
谁的资源在不寻常的地方?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)