繁体   English   中英

带有单个.h文件的库的Cmake

[英]Cmake for a library with a single .h file

当然,这是关于cmake的一个非常基本的问题,...

我想知道是否有可能从单个cpp代码的.h文件中创建一个静态库,如:libhelloword.a。

我写了CMakeLists.txt

cmake_minimum_required(VERSION 2.8)

SET(LIB_HELLOWORLD    "helloworld")

INCLUDE_DIRECTORIES(
  ${CMAKE_CURRENT_SOURCE_DIR}
)

ADD_LIBRARY(${LIB_HELLOWORLD} STATIC
  helloworld.h
)

不幸的是,这不起作用。

我懂了

-- Configuring done
CMake Error at CMakeLists.txt:12 (ADD_LIBRARY):
  Cannot find source file:

    helloworld.h

  Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
  .hxx .in .txx


-- Build files have been written to: /path/to/files

我无法运行make,因为没有创建makefile

任何帮助将不胜感激,因为我迷失在这个cmake世界中:p

顺便说一句:.h文件是一个外部库,(肯定)我无法修改。

您将如何使用该库? 无论如何,您都需要将其标题包含到执行模块中。 因此,此标头中的所有代码都将在那里编译。

但是,如果您确实需要,可以创建包含helloworld.h的helloworld.cpp并以这种方式修改CMakeList.txt:

ADD_LIBRARY(${LIB_HELLOWORLD} STATIC helloworld.cpp)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM