c++ - 来自 Omnet++ 中其他项目的参考标头
问题描述
我目前正在尝试使用 C++ 代码构建一个共享库,我可以在多个 Omnet++ 项目中使用它。我正在使用 Omnet++ 5.3。为此,我创建了一个新的 Omnet++ 项目,放入我的源文件并在 makemake 选项中选择以下选项:
目标类型:Shared library
和Export this shared/static library for other projects
编译:Export include paths for other projects
和Force compiling object files for use in DLLs
在引用项目中,我在 makemake 选项中执行了以下操作:
目标:Executable
编译:Add include paths exported from referenced projects
和Add include dirs and other compile options from enabled project features
链接:Link with libraries exported from referenced projects
和Add 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
包含共享项目的头文件的目录在哪里。
推荐阅读
- oracle - 无法将此事务的访问序列化并隔离为 ISOLATION_READ_UNCOMMITTED
- excel - 运行宏时更改 ActiveX 控件颜色
- python - 负 r 平方用于线性回归,但正 r 平方与随机森林回归器
- python - 将批量数据插入 odoo.com。使用蟒蛇
- java - 使用 MDC 或 Threadlocal
- modelica - 在 Modelica.Electrical.Quasistationary 中绘制时间信号
- python - 在 Python 中由另一个 lambda 函数异步并行调用 Lambda 函数
- jenkins - 更改 Jenkins 安装路径
- docker - 在 Kubernetes 中保持 POD 存活
- python - 如何在Python中找到二维数组中每一列的最小元素