我正在使用Ubuntu 16.04 64位计算机上的C ++代码。作为代码的一部分,我必须调用Matlab,我使用libmat和libmx库。
当向CMake提供这些库的路径时,我收到来自CMake的警告,现有的库可能会发生冲突(请参阅下面的错误)。我仍然可以生成代码但是当我执行它时会发生崩溃。
CMake警告:
无法为目标depth_forest_trainer生成安全的运行时搜索路径 因为某些目录中的文件可能与隐式库中的库冲突 目录:
/ usr / lib / x86_64-linux-gnu中的运行时库[libpng12.so.0] 可能被以下文件隐藏:/ usr / local / MATLAB / R2016a / bin / glnxa64
可能无法正确找到其中一些库。
运行时出错:
`./depth_forest_trainer':free()出错:指针无效:0x00000000021c7328
======= Backtrace:=========
/lib/x86_64-linux-gnu/libc.so.6(+0x77725)[0x7fe7abf49725]
/lib/x86_64-linux-gnu/libc.so.6(+0x7ff4a)[0x7fe7abf51f4a]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7fe7abf55abc]
./depth_forest_trainer(_ZN5boost10filesystem4pathD1Ev+0x18)[0x5290a8]
/lib/x86_64-linux-gnu/libc.so.6(__cxa_finalize+0x9a)[0x7fe7abf0c35a]
/usr/local/MATLAB/R2016a/bin/glnxa64 /libboost_filesystem.so.1.56.0(+0x7ba6)
[0x7fe7ab0beba6]
=======记忆图:========
[...]
7fe7a0000000-7fe7a0021000 rw-p 00000000 00:00 0
7fe7a0021000-7fe7a4000000 ---p 00000000 00:00 0
7fe7a49bd000-7fe7a537c000 r--p 00000000 08:01 4201449
/ usr / lib中/区域/区域设置归档
7fe7a537c000-7fe7a5381000 r-xp 00000000 08:01 4202446 /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7fe7a5381000-7fe7a5580000 ---p 00005000 08:01 4202446 /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7fe7a5580000-7fe7a5581000 r--p 00004000 08:01 4202446 /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7fe7a5581000-7fe7a5582000 rw-p 00005000 08:01 4202446 /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7fe7a5582000-7fe7a5584000 r-xp 00000000 08:01 4202435 /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
[它继续...]
我的问题是,是否有人看到了类似的行为,并可以评论如何解决这个问题?