处理 stdafx.h 时有单独的目录库
dealing with stdafx.h when have separate directory library
我有一个由许多目录组成的库,每个目录都包含libX.cpp
和libX.h
文件,其中X
是目录名称。一个libX
可能用于不同的项目。问题是在编译每个项目时要求在libX.cpp
中包含stdafx.h
。我想我必须包括stdafx.h
当前项目生成的文件(如果我错了,请纠正我)。好的,例如,我正在#include "some_absolute_path1stdafx.h"
libA.cpp
文件中写入。但是我在另一个项目中使用相同的libA.cpp然后我必须更改行
#include "some_absolute_path1stdafx.h"
自
#include "some_absolute_path2stdafx.h"
在项目之间切换时更改 stdafx.h 路径不是很舒服。
在这种情况下,最好的处理方法是什么?
你可以简单地不使用stdafx.h。它仅用于预编译标头。
你可以做#include "some_absolute_path2libX.h"
如果您仍想使用预编译标头,您只需在需要库的项目的 stdafx.h 中#include "some_absolute_path2libX.h"
即可。
当您的库正在使用要包含的文件中定义的某些资源时,需要任何包含。如果您需要包含 stdafx.h,是因为您有一些依赖关系强制这样做。您应该查看导致您要求将此项目相关文件包含在库中的原因(不是特定于项目)
我找到了这篇文章:http://en.wikipedia.org/wiki/Precompiled_header
然后我会尝试将 stdafx.h 移动到您的 main 中的第一个包含.cpp其中您还包括您的 libx.h 文件。
相关文章:
- 如何在C++中从两个单独的for循环中添加两个数组
- 用C++在单独的头文件中完成函数体
- 类模板的成员功能的定义在单独的TU中完全专业化
- 如何使用单独文件中的派生类访问友元函数对象
- CoInitialize()在单独的线程上崩溃而不返回
- avrogencpp能为模式中的每种类型生成单独的头文件吗
- 转换函数,将 std::数组的双精度作为参数或双精度作为参数单独转换
- 单独定义模板化嵌套类方法的正确语法
- 如何将 2 个类分成单独的 .h 文件并正确设置它们
- C++ 链接到单独的.cpp文件说"multiple definitions"
- 从单独的文件中读取树
- 将字符串拆分为标记,并将标记拆分为两个单独的数组
- C++计算器,不能单独除以 0
- 自 Windows 10 20H1 以来,具有单独线程的多个窗口停止工作
- 当结构位于单独的头文件中时'unregistered datatype'在 QML 中出现Q_GADGET错误
- 通过单独的 tcp 流建立 http 连接
- Cmake:为 C 设置警告级别,并为 MSVC 单独设置C++代码(Visual C++)
- 如何将字符串和整数读取到两个单独的动态数组中的程序编写?
- 如何从单独的线程控制 SFML 窗口?
- 处理 stdafx.h 时有单独的目录库