在我的项目中,我使用的是动态包含的第三方库 - 即通过导入 *.lib 文件和 *.h 文件。lib 的 *.h 文件有一个包含保护。我#included
将此文件放在我的一个项目标头中,该标头从#pragma once
. 后者也包含在我项目的几个 *.cpp 文件中。
这是方案:
第三方库包括“blah_blah.h”
#ifndef BLAH_BLAH_H
#define BLAH_BLAH_H
/* stuff here */
#endif
我的项目标题“my.h”
#pragma once
#include "blah_blah.h"
/* stuff here */
我的 cpp 文件之一
#include "my.h"
/* stuff here */
问题如下。虽然在编译过程中既没有错误也没有警告,但我看到它"blah_blah.h"
被包含了好几次 - 至少,由其代码产生的警告在 Visual Studio 2017 的输出窗口中出现了大约 5 次,并且编译会一直持续下去。我能做些什么来避免这种情况?