为“路径不可知”包含设置生成文件

Posted

技术标签:

【中文标题】为“路径不可知”包含设置生成文件【英文标题】:Setup makefile for 'path agnostic' inclusions 【发布时间】:2016-05-11 03:15:09 【问题描述】:

在我的项目文件中我只想说:

main.cpp:

#include <foo.h>
#include <bar.h>

当这些头文件位于不同的地方时

-Project
    -include
        -foo
           foo.h
        -bar
           bar.h
    -src
        main.cpp

我已经设置了我的 make 文件来尝试实现这一点,但我仍然得到 fatal error: foo.h: No such file or directory 所以我无法正确设置它。

生成文件:

LIBS = ./include/foo ./include/bar

all:
    g++ -o bin/myapp src/main.cpp $(LIBS) -std=c++11

LIBS 是否正确?如何实现相对/不可知的包含路径?

【问题讨论】:

您希望-I 标志用于设置目录,以便它查找头文件。如g++ -o bin/myapp src/main.cpp -I./include/foo -I./include/bar -std=c++11 【参考方案1】:
INCLUDES = -I./include/foo -I./include/bar

all:
    g++ -o bin/myapp src/main.cpp $(INCLUDES) -std=c++11

【讨论】:

以上是关于为“路径不可知”包含设置生成文件的主要内容,如果未能解决你的问题,请参考以下文章

怎么为QtCreator 添加包含路径

如何设置由 Visual Studio 2010 应用程序创建的文本文件的路径?

iis7网站默认文档包含文件夹设置

vscode:如何在保存less文件时,自动生成对应的css文件,并指定css文件的保存路径

使用 bindgen 设置包含路径

Linux生成core文件core文件路径设置