cmake添加位于项目文件夹中的外部库
序言:我在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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论