柯南如何帮助 CMake 找到 DLL 的位置?
How can conan help CMake find location of DLLs?
我有一个创建共享库的项目。该项目使用 conan 来管理其依赖项,其中之一是 OpenCV。由于公司政策,我们不使用 opencv_world,而是始终使用共享库,因此柯南安装了数百个 .lib
和 .dll
文件。
我正在开发的项目包括许多 运行 测试的可执行文件 - 单元、集成、配置文件等,但这些测试需要具有依赖项 dll 的路径。我的问题是,如何管理这些路径?
有没有办法自动将文件的位置从 conan 传递到 cmake?
我应该手动找到文件的位置并将它们手动传递给 CMake 吗?
这是我所做的:
1) 将柯南项目生成器更改为 virtualrunenv 并按照文档安装包。
2) 启动 developer prompt,或从任何命令行 window.
执行它在启动时运行的脚本
3) 从 Visual Studio 打开 CMake 项目。
4) 运行 测试。所有库现在都可用。
您必须成功找到opencv,才能获取相关缓存的cmake变量。从这些变量之一获取 opencv 的 dll 路径(通过在您的 cmake 文件中编写脚本),并将其写入 .bat (windows) 或 .sh (linux/mac) 文件。 shell 脚本文件应该临时将 dll 路径添加到 PATH 变量,然后进行单元测试。不确定这是否依赖于柯南,因为我从未使用过它。
我有一个创建共享库的项目。该项目使用 conan 来管理其依赖项,其中之一是 OpenCV。由于公司政策,我们不使用 opencv_world,而是始终使用共享库,因此柯南安装了数百个 .lib
和 .dll
文件。
我正在开发的项目包括许多 运行 测试的可执行文件 - 单元、集成、配置文件等,但这些测试需要具有依赖项 dll 的路径。我的问题是,如何管理这些路径?
有没有办法自动将文件的位置从 conan 传递到 cmake?
我应该手动找到文件的位置并将它们手动传递给 CMake 吗?
这是我所做的:
1) 将柯南项目生成器更改为 virtualrunenv 并按照文档安装包。
2) 启动 developer prompt,或从任何命令行 window.
执行它在启动时运行的脚本3) 从 Visual Studio 打开 CMake 项目。
4) 运行 测试。所有库现在都可用。
您必须成功找到opencv,才能获取相关缓存的cmake变量。从这些变量之一获取 opencv 的 dll 路径(通过在您的 cmake 文件中编写脚本),并将其写入 .bat (windows) 或 .sh (linux/mac) 文件。 shell 脚本文件应该临时将 dll 路径添加到 PATH 变量,然后进行单元测试。不确定这是否依赖于柯南,因为我从未使用过它。