从不同的文件cmake调用一个类

时间:2013-02-04 21:48:16

标签: c++ makefile cmake

我正在编写一个库,例如: FooBar的/ foobar.cpp FooBar的/ foobar.h中 FooBar的/ bar.cpp FOOBAR / bar.h

和foobar.h包括“bar.h”

我想使用cmakefiles来构建这个库。

示例文件是什么样的

请注意,这不具有任何“主”功能,因此没有我想要创建的可执行文件。我只想建立一个可以包含在不同项目中的库。

我尝试了不同的排列和组合

但是在每次尝试中我都会在FooBar中抛出一个错误,我试图从bar.cpp调用一个方法?  感谢

2 个答案:

答案 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链接到你的程序