0

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

和 foobar.h 包括“bar.h”

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

示例文件是什么样的

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

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

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

4

2 回答 2

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
于 2013-02-05T09:36:58.203 回答
1

谷歌搜索 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 链接到你的程序

于 2013-02-04T22:04:38.217 回答