我目前正在尝试使用C ++代码构建一个共享库,我可以在多个Omnet ++项目中使用它。我正在使用Omnet ++ 5.3。我为此创建了一个新的Omnet ++项目,放入我的源文件并在makemake选项中选择以下选项:
目标类型:Shared library
和Export this shared/static library for other projects
编译:{{1}}和Export include paths for other projects
在引用项目中,我在makemake选项中执行了以下操作:
目标:Force compiling object files for use in DLLs
编译:{{1}}和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>
。我在macOS和Windows上试过它。任何想法如何解决这一问题?这是否与更新的Omnet版本中的更改包含方案有关,其中必须提供头文件的相对路径?非常感谢!
答案 0 :(得分:1)
尝试手动将带有头文件的目录添加到引用项目中
为此:在引用项目中转到Project
| Properties
| OMNeT++
| Makemeke
|选择root或src
目录| Options
,然后Custom
| Makefrag
并写下以下一行:
CFLAGS += -IC:/path/to/sharedproject
其中C:/path/to/sharedproject
是包含共享项目的头文件的目录。