将库添加到makefile

时间:2015-10-02 18:38:52

标签: c++ makefile static-libraries

我刚刚为项目安装了RtMidi并进行了编译。 tests文件夹中的示例如果我将其放在文件夹中并将其包含在编译所有示例的Makefile中,我的代码也会起作用。如何在#include <RtMidi.h>的项目中使用RtMidi而不是将我的代码放在tests文件夹中?更具体地说,我应该在Makefile中添加什么?我已经阅读了一些关于动态和静态库的内容,但我不知道我应该寻找什么。我尝试添加-llibrtmidi/usr/local/lib/librtmidi.a但没有成功。

2 个答案:

答案 0 :(得分:2)

在标准的Makefile中,CXXFLAGS宏定义了C ++编译器的标志。您需要将-I<path to header directory>添加到此宏,以便编译器找到RtMidi头文件。

然后,您需要将-L<path to lib directory>添加到Makefile的链接步骤,以便-lrtmidi找到库文件。 (请注意,您省略了lib命令的-l前缀)

答案 1 :(得分:2)

根据您对环境的描述,您可能需要

之类的内容
CPPFLAGS += -I/usr/local/include

LDFLAGS += -L/usr/local/lib

LDLIBS += -lrtmidi
在你的Makefile中

make使用了大量implicit variables