1

我对 OMNeT++ 很陌生,我想使用 boost 框架中包含的序列化库。但是,在尝试使用它时,我收到了很多错误,例如:

Description    Resource    Path    Location    Type
undefined reference to `boost::archive::archive_exception::~archive_exception()'
OmCCN line 36, external location: /home/alexander/UniBE/BT/simulator/boost-compiledLibs
/include/boost/serialization/throw_exception.hpp    C/C++ Problem

. 我想问题是我还没有在 OMNeT 中链接已编译的库。我查看了makefile,但任何更改都毫无价值,因为它是由makemake自动生成的。此外,尝试访问项目 > 属性 > OMNeT++ IDE 中的菜单项“makemake”会引发错误(当前显示的页面包含无效值)。

谁能给我一个关于错误可能导致什么或如何正确链接编译库的提示?

任何提示都非常感谢!

干杯亚历克斯

4

1 回答 1

1

首先,您应该获取库文件。

例如,在 Ubuntu 中,您应该安装这两个软件包:libboost1.46-dev 和 libboost-serialization1.46-dev。头文件将安装在 usr/include/boost 中,库文件将安装在 usr/lib 中。

要将序列化库链接到您的程序:

右键单击您的项目,然后单击属性。然后转到 OMNET++ > Makemake。

找到“链接”选项卡,然后在“要链接的其他对象:(通配符,...”部分,指定序列化库的路径(例如 /usr/lib/libboost_serialization-mt.a)。

于 2012-09-11T21:25:43.520 回答