cmake添加位于项目文件夹中的外部库

发布于 2025-02-07 02:03:10 字数 894 浏览 0 评论 0原文

序言:我在Windows上,希望轻松将此项目发送给其他OS上的其他人。

我的文件夹结构是:

EigenTest/
libs/
├─ Eigen3/
├─ OpenBLAS C Asm/
src/
├─ main.cpp

我的cmake文件:

cmake_minimum_required(VERSION 3.22)
project(EigenTest)

set(CMAKE_CXX_STANDARD 20)

add_executable(EigenTest src/main.cpp)

add_library(EigenLib STATIC)

target_include_directories(EigenLib INTERFACE "libs/Eigen3")

target_link_libraries(EigenTest PRIVATE EigenLib)

add_library(OpenBlasLib STATIC)

target_include_directories(OpenBlasLib PRIVATE "libs/OpenBLAS C ASM")

target_link_libraries(EigenTest PRIVATE OpenBlasLib)

出于某种原因,当eigen3和openblas都有自己的cmakelist.txt和这些文件夹中的源文件时,我遇到了一个错误。 错误:

CMake Error at CMakeLists.txt:8 (add_library):
  No SOURCES given to target: EigenLib


CMake Error at CMakeLists.txt:14 (add_library):
  No SOURCES given to target: OpenBlasLib

Preface: I am on Windows and wish to easily send this project to someone else on a different OS.

My folder structure is:

EigenTest/
libs/
├─ Eigen3/
├─ OpenBLAS C Asm/
src/
├─ main.cpp

My cmake file:

cmake_minimum_required(VERSION 3.22)
project(EigenTest)

set(CMAKE_CXX_STANDARD 20)

add_executable(EigenTest src/main.cpp)

add_library(EigenLib STATIC)

target_include_directories(EigenLib INTERFACE "libs/Eigen3")

target_link_libraries(EigenTest PRIVATE EigenLib)

add_library(OpenBlasLib STATIC)

target_include_directories(OpenBlasLib PRIVATE "libs/OpenBLAS C ASM")

target_link_libraries(EigenTest PRIVATE OpenBlasLib)

For some reason, I get an error that there are no sources when both Eigen3 and OpenBLAS have their own CmakeList.txt and source files in those folders.
Error:

CMake Error at CMakeLists.txt:8 (add_library):
  No SOURCES given to target: EigenLib


CMake Error at CMakeLists.txt:14 (add_library):
  No SOURCES given to target: OpenBlasLib

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文