我在我的C++程序中使用外部库。这个库有一个名为“Common.h”的fie。不知道这个文件,我也在我的程序中创建了一个“Common.h”。在头文件中使用编译器标志“#pragma once”我可以确保这两个文件都可以包含在编译中。但是,我意识到当我在程序中调用我的“Common.h”时,预处理器错误地包含了来自外部库的“Common.h”,这会破坏编译。有没有像“命名空间”这样的选项允许我包含正确的文件。我发现它非常困难,因为我们可能不(实际上不需要)意识到外部库中的所有文件。如何在C++项目中包含具有相似名称的头文件
3
A
回答
8
一般程序有几个所谓的包括路径查找头文件。看起来你已经包含了包含你的“Common.h”文件以及库头目录的路径。对我来说,完美的解决方案似乎除去包含的库文件路径,并使用明确的相对路径,如:
#include "mylib/include/Common.h"
+0
不应该忘记#include <>和#include“”具有不同的优先级。一个使用<>在平台定义的文件夹(特定于实现)中查找,其他 - 首先在项目文件夹中,应该使用非递归部分路径(有实现细节,但主要是因为大量不同的平台) – Swift
1
相关问题
- 1. 如何在头文件中包含依赖项而不将其包含在包含头文件的项目中
- 2. Dev-C++保存具有相似名称的源文件?
- 3. Git如何添加多个具有相似名称的文件?
- 4. 如何在同一路径中动态创建包含具有相似名称的文件的对象?
- 5. 在Visual C++ 2010项目中包含visual C++ 6.0头文件
- 6. 在包含路径中具有相同名称的两个标头
- 7. 具有多个相同名称的源文件的VisualStudio项目?
- 8. 在脚本中将文件移动到具有相似名称的目录
- 9. 文件夹名称包含名称c#目录
- 10. 在C++项目中包含.idl文件
- 11. 在Xcode C++项目中包含头文件
- 12. 在单个项目中有两个具有相同名称的jar文件netbeans
- 13. 南特复制具有相似名称的所有文件
- 14. 包含具有图像的文件夹c#项目
- 15. 如何在主目录中包含具有绝对路径的头文件?
- 16. Visual Studio是否只包含具有相同项目名称空间的dll中的aspx.cs文件?
- 17. 如何包含两个不同的包含两个具有相同名称的不同类的头?
- 18. 如何在纯C和CUDA C文件中包含头文件?
- 19. 如何从C#中具有相同名称的文件夹中打开文件
- 20. 将文件放在具有相似名称的文件夹中cmd
- 21. 如何在文件.gitignore中包含.svn目录? (所有名称的目录中包含点)
- 22. 选择具有相似名称的行
- 23. 如何从Ant构建脚本中排除具有相似名称的文件?
- 24. VS2005 - 在同一个项目中具有相同名称的多个文件
- 25. 如何删除明文中具有相同名称的文件
- 26. Python:比较具有相似名称的文件(递归地)
- 27. Expect脚本:运行两个具有相似名称的文件
- 28. 读取输入和移动具有相似名称的文件
- 29. 如何更改项目包含的文件夹名称在VS 2010的模板
- 30. 如何在各种目录中检测具有相同名称的文件?
的唯一方法,而使用相同的名称来区分它们是由包括部分或全部文件路径的包含指令。 –
您可以将标题存储在项目子文件夹和'#include“my_project/Common.h”'中。 TBH图书馆应该已经为自己做了。也许你编译器的include标志设置不正确? – Galik
让文件夹名称为头文件的名称空间。 –