我正在编写一个库,例如: FooBar的/ foobar.cpp FooBar的/ foobar.h中 FooBar的/ bar.cpp FOOBAR / bar.h
和foobar.h包括“bar.h”
我想使用cmakefiles来构建这个库。
示例文件是什么样的
请注意,这不具有任何“主”功能,因此没有我想要创建的可执行文件。我只想建立一个可以包含在不同项目中的库。
我尝试了不同的排列和组合
但是在每次尝试中我都会在FooBar中抛出一个错误,我试图从bar.cpp调用一个方法? 感谢
答案 0 :(得分:3)
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
答案 1 :(得分:1)
在谷歌搜索10秒后,我找到了this helpful site.
你的makefile应该是这样的:
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链接到你的程序