【发布时间】:2026-02-16 07:30:01
【问题描述】:
我目前正在构建一个跨平台框架,我需要您的帮助,因为我在 OSX 上“部署”Assimp 库时遇到了麻烦。让我们从头开始。
目标是什么?
最终用户运行 CMake 文件,为他的平台创建一个项目(例如 Visual Studio 解决方案)在他的系统上运行它并使用它。
要求
所有使用的库都由我提供(例如 sdl.lib、assimp.lib 等),CMake 使用它们链接可执行文件。
使用的库之一是 assimp 库。因此,在 Windows 和 Linux 中,我通常为它们提供 assimp.lib 和 dll 文件以及 .a 和 .so 文件,并且它工作正常。
那么问题出在哪里?
所以问题是在 OSX 上我不能做同样的事情。
我用 CMake 在我的 macbook 上构建了 assimp,它创建了以下文件 ->
libassimpd.3.1.1.dylib , libassimpd.3.dylib, libassimpd.dylib .
这很好,可以在我的电脑上使用。但问题是当我尝试在另一台计算机上“运送”这些文件时。用户通常会使用 CMake 创建 XCode.project 打开 .proj 文件并成功构建目标。当它运行它时,虽然他得到一个运行时错误,它有一条来自我的计算机的路径(其中 assimp 是从源代码构建的)
/Users/.../assimp3.1.1-build -> 对 libassimp.3 的引用.dylib 图片未找到。
我不知道为什么会这样。
还有其他人遇到过这种情况吗?以某种方式解决了吗? 我不希望用户在使用框架之前在他的计算机上构建 Assimp,因为最终用户应该是计算机图形学的新手,而且我们已经涉及到 CMake 的使用,我们不想让它变得更复杂.
提前致谢。
【问题讨论】: