CMake在运行时从子目录中的其他库链接错误

问题描述

我正在尝试使用动态openCASCADE库运行一个项目。 因此,首先,我使用以下CMake文件设置了一个最小的测试项目:

avg_occupancy_3

这可以正常工作。

现在,我想将相同的库链接到用于较大项目的另一个库。 对于项目,有3个CMake文件一个用于项目,两个子目录,一个用于可执行文件一个用于myLib,由add_subdirectory()添加

在myLib的CMake文件中,该文件位于我添加的子目录之一内:

avg_occupancy_0

因此与测试项目基本相同。 但是现在(运行时)出现错误

id

解决方法

好的,所以我自己发现了问题。它不起作用的原因不是因为CMake,而是在数据包管理器上安装了其他版本的库,然后加载了这些库,而不是正确的库。

清除这些库可以解决问题。

但是我仍然不明白的是为什么它在测试项目上加载了正确的库版本,而在另一个项目上却加载了错误的库(都在同一台机器上进行了测试)