在c ++项目中包括本地库文件的标准方法

问题描述 投票:0回答:1

所以我要成为一个大男孩,并将我的项目分成单独的源文件。

我遇到的问题是我试图遵守标准,但是由于我有这个问题,我必须错过了一些东西:

我的项目目录包括一些子目录:

包括LIB...src

似乎不鼓励使用#include "include/some_file.h",这似乎很公平。据我了解,通常的设置是将include文件夹设置为相对目录,以便在源代码中对文件进行任何编译期间,如果编译器读取#include "cat/dog.h",则它实际上在以下位置搜索文件: include / cat / dog.h

然后,当我想包含库lib中的文件时,出现了我的问题。似乎必须使用#include "../lib/my_library/giraffe.h",但我知道使用相对路径包含被认为是脆弱的,因此不建议使用。

我知道通常应该对库文件进行预编译,并且可以将它们包含编译标志(以及IDE上类似的方法,例如VS),这意味着即使我从未写过#include "../lib/my_library/giraffe.h"并且我仍然可以对其进行编译可以使用文件的内容。但是我也知道,只要您直接在标头/ cpp中使用文件的#include,就很好。

对于菜鸟问题​​的道歉,但是我如何调和这些看似矛盾的标准?

所以我要成为一个大男孩,并将我的项目分成单独的源文件。我遇到的问题是我试图遵守标准,但是必须错过一些东西,...

c++ project standards header-files
1个回答
0
投票

[感谢JaMiT和Carl,他在评论中回答。我在这里写下来,以便其他人知道问题已经得到回答]。

© www.soinside.com 2019 - 2024. All rights reserved.