【发布时间】:2012-12-05 17:25:54
【问题描述】:
我们正在创建许多使用我们的通信库的 MATLAB MEX 文件。这个通信库大量使用 Boost。现在,MATLAB 在内部也使用了 boost,这意味着在标准设置中,我们不能使用与 MATLAB 附带的不同的 boost 版本,否则一切都会随之而来。
问题是,我们的 matlab 参考版本(boost 1.40)附带的 boost 版本相当老旧,并且有一些错误。我们非常想使用更新的版本。
我看到的唯一解决方案是创建一个自定义版本的 boost,它位于不同的命名空间中。然后,名称修饰应防止命名冲突。这个解决方案有点棘手,因为 boost 还导出了一些“C”符号,并且有许多宏都需要更改。
是否有不需要创建自定义增强版本的推荐解决方案?
【问题讨论】:
-
您是否尝试使用
-l选项指定 Boost 库的完整路径? -
这有什么关系?无论如何我明天会试试,只是好奇。
-
也许这样它可以链接到你的 Boost 库而不是 MATLAB 的。
-
我们刚刚试了一下,没有成功。 libboost_thread.so.1.40 仍在使用,所以它仍然崩溃。