例如,我正在编写一个库: FooBar/foobar.cpp FooBar/foobar.h FooBar/bar.cpp FOoBar/bar.h
和 foobar.h 包括“bar.h”
我想使用 cmakefiles 来构建这个库。
示例文件是什么样的
请注意,这没有任何“主要”功能,因此我没有要创建的可执行文件。我只想构建一个可以包含在不同项目中的库。
我尝试了不同的排列和组合
但是在每次尝试中我都会在 FooBar 中抛出一个错误,我试图从 bar.cpp 调用一个方法?谢谢
cmake_minimum_required(VERSION 2.8.10)
project(FooBar)
add_library(FooBar FooBar/foobar.cpp FooBar/foobar.h FooBar/bar.cpp FooBar/bar.h)
# this will create a library called FooBar that will have the code from foobar.cpp and bar.cpp
谷歌搜索 10 秒后,我发现了这个有用的网站。
您的生成文件应如下所示:
obj/bar.o : FooBar/bar.cpp FooBar/bar.h
g++ -c FooBar/bar.cpp -o obj/bar.o
libbar.a : obj/bar.o
ar rcs libbar.a obj/bar.o
然后你可以将 libbar.a 链接到你的程序