如何向OMNet ++添加类集?

时间:2016-11-02 16:58:30

标签: omnet++

我有一个解决线性编程问题的包,我想在OMNet ++项目中使用SoPlex。该软件包只有一个源文件夹,其中包含.h.cpp个软件包实现文件。我认为我需要从这些源文件和头文件中创建一个库。因此,我使用Code :: Blocks来创建包的动态库。

在OMNet ++中,我去了Project Features - > Makemake - > Link - > Additional librariers to link with

在该路径中,我输入了库soplexlib的名称。我还在libsoplexlib.a部分中添加了库文件soplexlib.dllPaths and Symbols的路径。 现在,当我构建项目时,它说它找不到像soplex.h这样的文件,而soplex包的源文件夹中有这样的文件。我已在项目属性的Includes部分的Paths and Symbols子部分中添加了源和头文件的路径。

我在这里错过了什么吗?

2 个答案:

答案 0 :(得分:1)

您的OMNeT++项目可能使用Makefile,因此在IDE中更改Paths and Symbols无法解决您的问题。
你应该去Project | Properties | OMNeT++ | Makemeke |选择root或src目录| Options,然后Custom | Makefrag并写下以下几行:

EXTRA_OBJS += -LD:/foo/lib
CFLAGS += -ID:/foo/src

其中D:/foo/lib是包含libsoplexlib.aD:/foo/src - soplex.h的目录。

或者,您可以在Link选项中删除以前添加的库,然后写入Makefrag

EXTRA_OBJS += -LD:/foo/lib -lsoplexlib
CFLAGS += -ID:/foo/src

此外,我建议为编译器打开详细模式。要执行此操作,请转到C/C++ Build,取消选中Use default build command并在命令末尾写下:V=1

答案 1 :(得分:0)

另一种方法是将.cpp文件重命名为.cc并将所有文件复制到源目录中。重新生成makefile(如果您使用的是IDE,那就自动完成了)并且您已经设置好了。 makefile生成器会自动获取源文件夹中的所有.cc文件。