在没有管理权限的mac上运行具有依赖库的Qt应用程序

run Qt app with dependent libraries on mac with no admin rights

本文关键字:依赖 Qt 应用程序 运行 mac 管理 管理权 权限      更新时间:2023-10-16

我正在尝试构建和运行(并修复)一个应用程序,该应用程序是用Qt 4.8 for windows编写的,然后在Linux上构建。正在尝试在Mac上运行它。

该应用程序需要某些lib依赖项,其中一些是单独构建的,我可以控制,还有一些购买的SDK。

我可以很好地构建应用程序,在专业文件中设置了所有依赖dylib的位置。

不幸的是,我无法执行该应用程序,因为链接器不知道我的依赖项位于哪里。。。我想它忽略了我的专业档案。

我曾尝试将依赖的dylib与应用程序放在同一目录中(无论是否作为捆绑包构建),但我仍然收到关于缺少依赖项的错误。

我已经读到,我可以把我的库放在链接器会自动找到它们的地方,比如/usr/local/lib。不幸的是,我没有管理员权限。还有其他地方可以放吗?

我现在正在尝试的是:打包它,使用install_name_tool。。。它非常乏味,我不知道它是否有效。。。但这意味着每次重建应用程序时,我都必须运行打包步骤——这可能需要很多次!

如何将依赖项放置在链接器将找到的位置,而不访问sudo?(或者无法查看系统文件夹……尽管我似乎可以从终端读取……很奇怪,我可以……但没有系统文件夹的写入权限)

或者,在没有管理权限的情况下,我可以在mac上使用什么工具来使链接器识别到库的路径?

我正在遵循这个答案

http://qt-project.org/forums/viewthread/5469:

macx {
 LIBS += ../mylib/mylib-build-desktop/mylib.dylib
 PRE_TARGETDEPS = ../mylib/mylib-build-desktop/mylib.dylib
 mylib.path = Contents/MacOS
 mylib.files = ../mylib/mylib-build-desktop/mylib.1.dylib
 QMAKE_BUNDLE_DATA += mylib
}