上午,
我想将自己的库导入Veins(v4.4)项目。
我按照tutorial编译了一个共享库。 我还用这个命令剥离了共享库:
strip --strip-unneeded libfoo.so
因为我注意到系统库如sqlite3是在剥离模式下编译的。
然后我从
导入了库1.Project-> Properties-> Paths and Symbols:
1.1包括
1.2图书馆
1.3图书馆路径
2.Makemake-> SRC->选项 - >链结>其他图书馆
然而,问题是当我使用导入的库时,我仍然会收到“未定义符号”的错误;所以我想模拟器没有正确导入或读取库。
有什么建议吗?
感谢您的帮助
答案 0 :(得分:0)
user manual's chapter on running simulations中记录了如何在模拟中加载其他库。
简而言之,您需要在命令行参数中添加-l foo
,以便在启动时使模拟加载libfoo.so
。
如果您使用IDE开始模拟,您可以编辑模拟的运行配置:选择菜单项Run > Run Configurations...
,然后在Main
选项卡上单击More >>
,添加名称您的图书馆(例如foo
,如果您的图书馆被调用libfoo.so
,或foo bar
,如果您希望模拟在启动时加载libfoo.so
和libbar.so
Dynamic libraries
文字字段。启动后,您将看到IDE使用上述命令行参数-l foo
来运行模拟。
如果您不确定图书馆的放置位置,相关问题就此进行了讨论:<!> Error during startup: Cannot load library in OMNET++ project while using sqlite3