我运行./myprogram
,它给了我一个警告:
Warning: Your program was compiled with SimGrid version 3.13.90, and then linked against SimGrid 3.13.0. Proceeding anyway.
尝试ldd myprogram
并提供以下内容:
libsimgrid.so.3.13.90 => /usr/lib/libsimgrid.so.3.13.90 (0x00007f338ef47000)
然后我转到usr/lib
并在终端输入ll *sim*
:
lrwxrwxrwx 1 ken ken 21 июл 28 19:29 libsimgrid.so -> libsimgrid.so.3.13.90*
-rwxrwxr-x 1 ken ken 12307480 июл 28 19:29 libsimgrid.so.3.13.90*
在CMakeLists.txt
我以这种方式链接库simgrid
:
target_link_libraries(CSim2Sim simgrid)
为什么myprogram
仍然与SimGrid 3.13.0
相关联(/usr/lib
SimGrid 3.13.90
时它不存在?
更新:
ternimal中的命令locate libsimgrid.so
给出:
/home/ken/Downloads/simgrid-master/lib/libsimgrid.so
/home/ken/Downloads/simgrid-master/lib/libsimgrid.so.3.13.90
/home/ken/SimGrid/lib/libsimgrid.so
/home/ken/SimGrid/lib/libsimgrid.so.3.13.90
/usr/lib/libsimgrid.so
/usr/lib/libsimgrid.so.3.13.90
答案 0 :(得分:1)
该消息似乎有问题,看起来您的应用程序实际上是使用3.13.0编译的,并链接到libsimgrid 3.13.90。订单在邮件中被颠倒了,我会修复它。
我认为,在编译代码时,您的包含可能会出现问题。编译应用程序时,请检查是否不使用旧版本的msg.h / simgrid_config.h文件(可能还有/ usr / include中的文件?)。
要检查,您可以在simgrid_config.h中查找SIMGRID_VERSION_PATCH。最近一次应该是90,而不是0。