这肯定是关于cmake的一个非常基本的问题,......
我想知道是否有可能或者是否有意义创建一个静态库,如:libhelloword.a 来自单个.h文件的cpp代码。
我写了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文件是一个外部库(当然)我无法修改。
答案 0 :(得分:0)
你打算如何使用这个库?无论如何,您需要将它的标题包含在执行模块中。因此,此标头中的所有代码都将在那里编译。
但如果你真的想要,你可以在其中创建helloworld.cpp包含helloworld.h并以这种方式修改CMakeList.txt:
ADD_LIBRARY(${LIB_HELLOWORLD} STATIC helloworld.cpp)