为什么 OMNet++ 编译器会收到预编译包的错误?
Why does OMNet++ compiler gets errors for a precompiled package?
我已经将一个名为 SoPlex 的外部包(包含 .cpp
和 .h
文件以及库文件的文件夹)包含到我的 OMNet++ 项目中。我已经在 Code::Blocks IDE 中测试了这个包,除了一些警告之外,它工作正常:warning: explicit conversion operators only available with -std=c++11 or -std=gnu++11
。
它确实在 Code::Blocks IDE 中起作用。但是当我想在我的 OMNet++ 项目中使用它时,它会为 SoPlex 包提供很多错误,如图所示:
它只针对 SoPlex 的代码而不是我的 OMNet++ 项目代码给出了很多错误。
知道是什么导致了这个问题吗?
我在Code::BlocksIDE中使用MinGW编译SoPlex包。当我在 OMNet++ 中使用 MinGW GCC
而不是 GCC for OMNet++
作为 current toolchain
时,会出现此错误 fatal error: omnetpp.h: No such file or directory
。
关于第 3 方库的错误。根据您将库放在 src 文件夹中的位置,至少该目录 必须 添加为包含目录,否则编译器将找不到头文件。
至于 omnetpp.h 的问题:OMNeT++ 有它自己的 makefile 生成器,它会自动添加所需的包含文件夹 (omnetpp_root/include)。通用 MinGW GCC 工具链没有。如果您想避免额外的工作,请始终使用 omnet 工具链来构建您的模型。
我已经将一个名为 SoPlex 的外部包(包含 .cpp
和 .h
文件以及库文件的文件夹)包含到我的 OMNet++ 项目中。我已经在 Code::Blocks IDE 中测试了这个包,除了一些警告之外,它工作正常:warning: explicit conversion operators only available with -std=c++11 or -std=gnu++11
。
它确实在 Code::Blocks IDE 中起作用。但是当我想在我的 OMNet++ 项目中使用它时,它会为 SoPlex 包提供很多错误,如图所示:
它只针对 SoPlex 的代码而不是我的 OMNet++ 项目代码给出了很多错误。
知道是什么导致了这个问题吗?
我在Code::BlocksIDE中使用MinGW编译SoPlex包。当我在 OMNet++ 中使用 MinGW GCC
而不是 GCC for OMNet++
作为 current toolchain
时,会出现此错误 fatal error: omnetpp.h: No such file or directory
。
关于第 3 方库的错误。根据您将库放在 src 文件夹中的位置,至少该目录 必须 添加为包含目录,否则编译器将找不到头文件。
至于 omnetpp.h 的问题:OMNeT++ 有它自己的 makefile 生成器,它会自动添加所需的包含文件夹 (omnetpp_root/include)。通用 MinGW GCC 工具链没有。如果您想避免额外的工作,请始终使用 omnet 工具链来构建您的模型。