包括从 /usr/local/include 引用的头文件和从 /usr/local/lib 引用的库。

10

我刚在OS X 10.9上安装了GLFW。头文件被安装在/usr/local/include,库文件被安装在/usr/local/lib

我想知道还需要做些什么才能让我的C++程序包含头文件,例如#include "GLFW/glfw3.h",而不是指定完整路径,如#include "usr/local/include/GLFW/glfw3.h"

对于库也是同样的情况,因为现在我甚至不能使用-lglfw3链接库。提前感谢您的帮助。


操作系统?Mac,Linux?... - Germán Diago
@GermánDiago OS X 10.9 - Felyner
@GuntherFox,使用其中任何一个都没有区别。它仍然找不到指定的头文件。 - Felyner
1个回答

16

您需要将-I /usr/local/include作为预处理器标志传递给编译器,将-L /usr/local/lib作为链接器标志传递给编译器。因此,要构建单个源应用程序small.cc,请编译它:

  g++ -Wall -I /usr/local/include -L /usr/local/lib \
      small.cc -o small -lglfw3

如果使用make进行构建,只需

  CXXFLAGS += -I/usr/local/include
  LDFLAGS += -L/usr/local/lib

如果使用共享库,在您的Makefile中添加一次 /usr/local/lib,并在Linux上至少运行一次ldconfig之前将其添加到/etc/ld.so.conf


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接