2016-11-03 97 views
0

我已将一个外部程序包调用SoPlex(.cpp.h文件和库文件的文件夹)包含到我的OMNet ++项目中。我已经在Code :: Blocks IDE中测试了这个包,除了一些警告:warning: explicit conversion operators only available with -std=c++11 or -std=gnu++11之外,它还可以正常工作。为什么OMNet ++编译器为预编译包获取错误?

它肯定是在Code :: Blocks IDE中工作。但是,当我想在我的OMNeT ++项目中使用它,它给出了SoPlex包了很多错误,像图片: Error messages

它提供了很多错误的SoPlex的只是代码,而不是我的OMNeT ++项目代码。

任何想法可能导致问题?

我已经使用MinGW在Code :: Blocks IDE中编译SoPlex包。当我在OMNet ++中使用MinGW GCC而不是GCC for OMNet++作为current toolchain时,出现此错误fatal error: omnetpp.h: No such file or directory

+0

您能否提供一个导致这些错误的示例代码以及来自控制台的错误日志?可能您的库的头文件没有正确包含。 –

回答

1

关于第三方库的错误。根据将库放在src文件夹中的位置,至少必须将目录作为include目录添加,否则编译器将找不到头文件。

至于omnetpp.h的问题:OMNeT ++有自己的makefile生成器,它会自动添加所需的include文件夹(omnetpp_root/include)。通用的MinGW GCC工具链没有。如果您想避免额外的工作,请始终使用omnet工具链构建您的模型。