首页 > 解决方案 > 来自 Omnet++ 中其他项目的参考标头

问题描述

我目前正在尝试使用 C++ 代码构建一个共享库,我可以在多个 Omnet++ 项目中使用它。我正在使用 Omnet++ 5.3。为此,我创建了一个新的 Omnet++ 项目,放入我的源文件并在 makemake 选项中选择以下选项:

目标类型:Shared libraryExport this shared/static library for other projects

编译:Export include paths for other projectsForce compiling object files for use in DLLs

在引用项目中,我在 makemake 选项中执行了以下操作:

目标:Executable

编译:Add include paths exported from referenced projectsAdd include dirs and other compile options from enabled project features

链接:Link with libraries exported from referenced projectsAdd libraries and other linker options from enabled project features

此外,我将共享库项目添加到项目引用中。在引用项目中,我想包含共享库项目的头文件。但是,我不能包括它。我尝试了不同的方案来包含它,例如"MODULENAME/HEADERFILE", <MODULENAME/HEADERFILE>, "HEADERFILE", <HEADERFILE>. 我在 macOS 和 Windows 上都试过了。任何想法如何解决这一问题?这与必须提供头文件的相对路径的较新 Omnet 版本中更改的包含方案有关吗?非常感谢!

标签: c++omnet++

解决方案


尝试手动将带有头文件的目录添加到引用项目中。
为此:在引用项目中转到Project| Properties| OMNeT++| Makemeke| 选择根目录或src目录 | Options, 那么Custom| Makefrag并写下以下行:

CFLAGS += -IC:/path/to/sharedproject

C:/path/to/sharedproject包含共享项目的头文件的目录在哪里。


推荐阅读