来自 Omnet++ 中其他项目的引用标头

Reference header from other project in Omnet++

本文关键字:引用 项目 Omnet++ 其他 来自      更新时间:2023-10-16

我目前正在尝试用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 版本中更改的包含方案有关吗?多谢!

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

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

其中C:/path/to/sharedproject是包含共享项目的头文件的目录。