gpt4 book ai didi

c++ - VC9 C1083 无法打开包含文件 : 'boost...' after trying to abstract an include dependency

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:02:23 24 4
gpt4 key购买 nike

所以我在过去几周一直致力于一个项目,它使用了许多 Boost 库。特别是我非常广泛地使用 boost::dynamic_bitset 库。

到目前为止,我的问题为零;但是今晚我发现了一些我必须解决的包含之间的依赖关系;我尝试通过提供一个抽象回调类来做到这一点。

实际上我现在有以下内容:

首先包括...

class OtherClassCallback
{
public:
virtual int someOtherMethod() const = 0;
};

class SomeClass
{
public:
void someMethod(OtherClassCallback *oc) {
...
oc->someOtherMethod();
...
}
};

第二个包含...

#include "SomeClass.h"

class SomeOtherClass : public OtherClassCallback
{
public:
int someOtherMethod() const { return this->someInt; }
};

问题来了;自从我实现了这个类以来,我现在收到以下错误:

fatal error C1083: Cannot open include file: 'boost/dynamic_bitset/dynamic_bitset.hpp': No such file or directory

现在我没有收到其他编译器错误;这是一个相当大的项目。我的包含路径等是完美的;我的文件是完全可访问的,删除更改可以解决问题。 编辑:我应该强调一个事实,即错误发生在既不直接包含也未以任何其他方式更改的文件中。

有人知道会发生什么吗?我在 VS9 中编译为 native Windows 可执行文件。

我应该承认,我对 C++ 总体上非常缺乏经验,所以如果它非常简单,请对我放轻松;我想不通。

最佳答案

结果我的一个使用 SomeOtherClass 的可执行文件在其包含列表中没有 Boost 库。如果我更多地关注输出日志,我会更早地意识到这一点。

3>c:.. ClassUsingDynamicBitset.h(2) : fatal error C1083: Cannot open include file: 'boost/dynamic_bitset/dynamic_bitset.hpp': No such file or directory

3>SomeClassInExecutableProjectWhichDidntPreviouslyRequireBoostHeaders.cpp

2>Build log was saved at "file://c:...\BuildLog.htm"

2>some_library_already_including_boost_libraries - 0 error(s), 1 warning(s)

实际上,我没有意识到 VS 在我玩头文件时正在同时构建我的库/可执行文件;它实际上是一个可执行文件,它以前对包含问题所在的 Boost 库的类一无所知。

一旦我扩展了上述类来实现回调接口(interface),我就引入了对 Boost 库的依赖;并且我未能确保我使用所述类的每个项目都包含所有必需的 header 。

关于c++ - VC9 C1083 无法打开包含文件 : 'boost...' after trying to abstract an include dependency,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2441320/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com