- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
"-6ren"> "-我有一个需要使用 macdeployqt 设置的应用程序,但是当我调用它时,它告诉我它无法在/usr/lib/目录中找到一些库。 在调用 macdeployqt 之前,我必须将 3 个库 (.tx) -6ren">
我有一个需要使用 macdeployqt 设置的应用程序,但是当我调用它时,它告诉我它无法在/usr/lib/目录中找到一些库。
在调用 macdeployqt 之前,我必须将 3 个库 (.tx) 插入到我的 .app 中。我使用 otool 命令查看依赖项,这是其中一个的输出:
RecomputeDimBlock.tx:
RecomputeDimBlock.tx (compatibility version 0.0.0, current version 0.0.0)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1404.0.0)
libTD_Db.dylib (compatibility version 0.0.0, current version 0.0.0)
libTD_DbRoot.dylib (compatibility version 0.0.0, current version 0.0.0)
libTD_Ge.dylib (compatibility version 0.0.0, current version 0.0.0)
libTD_Root.dylib (compatibility version 0.0.0, current version 0.0.0)
libTD_Alloc.dylib (compatibility version 0.0.0, current version 0.0.0)
libTD_Gi.dylib (compatibility version 0.0.0, current version 0.0.0)
libTD_SpatialIndex.dylib (compatibility version 0.0.0, current version 0.0.0)
libsisl.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1225.1.1)
我还将每个“libTD_xx”插入到我的 tx 中。然后,我重新链接这些库。我制作了一个 bash 脚本来自动执行这些步骤:
#!/bin/bash
if [ ! -e build/debug/MediaCad.app ]
then
echo MediaCad.app non trouvé dans build/debug/
echo Sortie du script
exit 1
fi
#Création du dossier « tx » dans le .app s’il n’existe pas
if [ ! -d build/debug/MediaCad.app/Contents/tx ]
then
mkdir -p build/debug/MediaCad.app/Contents/tx
fi
#placement des tx et des libs dans le .app
for tx in RecomputeDimBlock.tx PlotSettingsValidator.tx ThreadPool.tx libTD_Db.dylib libTD_DbRoot.dylib libTD_Gi.dylib libTD_SpatialIndex.dylib libTD_Ge.dylib libTD_Root.dylib libsisl.dylib libTD_Alloc.dylib
do
if [ -e tx/$tx ]
then
echo Copie de $tx dans l’application
cp tx/$tx build/debug/MediaCad.app/Contents/tx
else
echo Impossible de trouver le fichier $tx dans tx/
echo Sortie du script
exit 1
fi
done
#installation des libs
cd tx/
for lib in libTD_Db.dylib libTD_DbRoot.dylib libTD_Gi.dylib libTD_SpatialIndex.dylib libTD_Ge.dylib libTD_Root.dylib libsisl.dylib libTD_Alloc.dylib
do
echo Installation de $lib
install_name_tool -id $lib ../build/debug/MediaCad.app/Contents/tx/$lib
install_name_tool -change $lib @executable_path/../tx/$lib ../build/debug/MediaCad.app/Contents/MacOS/MediaCad
done
#Actualisation des dépendances
for tx in RecomputeDimBlock.tx PlotSettingsValidator.tx ThreadPool.tx
do
for lib in libTD_Db.dylib libTD_DbRoot.dylib libTD_Gi.dylib libTD_SpatialIndex.dylib libTD_Ge.dylib libTD_Root.dylib libsisl.dylib libTD_Alloc.dylib
do
echo Actualisation de $lib pour $tx
install_name_tool -change $lib @executable_path/../tx/$lib ../build/debug/MediaCad.app/Contents/tx/$tx
done
done
cd ..
#génération du .app
echo Début de la construction de l’application
/Users/developpement/Qt/5.7/clang_64/bin/macdeployqt build/debug/MediaCad.app
echo Application construite
当我执行我的脚本时,除 macdeployqt 外,一切正常。这是输出:
ERROR: no file at "/usr/lib/libTD_Alloc.dylib"
ERROR: no file at "/usr/lib/libTD_DbRoot.dylib"
ERROR: no file at "/usr/lib/libTD_Gi.dylib"
ERROR: no file at "/usr/lib/libTD_Ge.dylib"
ERROR: no file at "/usr/lib/libTD_Root.dylib"
ERROR: no file at "/usr/lib/libTD_SpatialIndex.dylib"
ERROR: no file at "/usr/lib/libsisl.dylib"
这些库是我一开始在我的 .app 中复制的库。
我认为我在使用 install_name_tool 时做错了什么,但我看不到哪里?我已经花了 3 天时间,所以这就是为什么我在这里问我的问题。最后一件事,我使用 OS X 10.11 和 Qt 5.7。
如果有什么不清楚的地方,请随时告诉我,我知道我的英语不完美:)
谢谢!
最佳答案
尝试使用 macdeployqt 的 -libpath 选项。它应该指向您拥有这些 dylib 文件的文件夹。
关于macos - 执行macdeployqt时报错no file at "/usr/lib/<libs>",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38853201/
我无法在附加行中显示“真”、“假”、"is"和“否”按钮。 我在这里有一个应用程序:Application 请按照以下步骤使用应用程序: 1。当你打开应用程序时,你会看到一个绿色的加号按钮,点击 在此
我是一名优秀的程序员,十分优秀!