記錄遷移過程中的問題和解決方案:
1、svn 取消不需要版本控制的文件:
2、 在 mac 上編譯
安裝 zlib 依賴項(xiàng):
brew install zlib
安裝時(shí)終端提示:
沖泡:未找到
解決方案是執(zhí)行:
紅寶石-e“$(卷曲-fsSL)”
3、mac系統(tǒng)的程序路徑后跟一個(gè)字符串,如下:
右鍵單擊應(yīng)用程序,“顯示包內(nèi)容”,然后輸入真實(shí)路徑。
如何復(fù)制4、mac下的文件路徑
5、重頭戲是節(jié)目包裝。(假設(shè)程序名稱為.app)流程如下:
6、打包成安裝包mac系統(tǒng)軟件進(jìn)程名,執(zhí)行:/Users//Qt5.12.2/5.12.2//bin/ /Users/ /-dmg
7、直接運(yùn)行上一步到達(dá)的包。在mac上安裝程序比較常見的方法是將安裝包拖到“安裝程序”中,程序會(huì)出現(xiàn)在中,可以從運(yùn)行。你可以參考:
mac打包dmg文件(替換背景圖片)
生成DMG包的操作:磁盤工具->選擇新添加的圖片->右鍵選擇“xxx的圖片”->保存。
8、上面的打包步驟太麻煩了mac系統(tǒng)軟件進(jìn)程名,每次修改程序都做這個(gè)太麻煩了??梢詫懗蓅hell腳本進(jìn)行處理。如下:
echo "------開始處理------"
appRealPath=/release/helloWorld.app/Contents/MacOS
appPath=/release/helloWorld.app/Contents/MacOS/helloWorld
pakegePath=/release/helloWorld.app
appRpath=/release/helloWorld.app/Contents/Frameworks
licensePath=/release/helloWorld.app/Contents/MacOS/license.lic
Cur_Dir=$(pwd) #當(dāng)前路徑
appFullPath=${Cur_Dir}${appPath} #app完整路徑
pakegeFullPath=${Cur_Dir}${pakegePath}
appFullRealPath=${Cur_Dir}${appRealPath}
/Users/zhangsan/Qt5.12.2/5.12.2/clang_64/bin/macdeployqt ${pakegeFullPath}
liceseFullPath=${Cur_Dir}${licensePath}
if test -e ${liceseFullPath}
then
rm ${liceseFullPath}
fi
appFullRpath=${Cur_Dir}${appRpath}
libPath="${appFullRpath}/lib"
if [ -d ${libPath} ];
then
rm -r ${libPath}
fi
mkdir ${libPath}
libIndex=0
for filePath in ${appFullRealPath}/*;
do
fileName=`basename ${filePath}` #從文件的絕對路徑提取文件名
if [[ "$fileName" =~ ^lib.* ]]; #文件以lib開頭
then
libFileList[libIndex]=${filePath}
libFileNameList[libIndex]=${fileName}
libIndex=`expr ${libIndex} + 1`
fi
done
for index in "${!libFileList[@]}";
do
destFullPath="${libPath}/${libFileNameList[index]}"
libIndex=`expr ${libIndex} + 1`
cp -f ${libFileList[index]} ${destFullPath}
# echo "目標(biāo)文件:${destFullPath}"
# echo "源文件:${libFileList[index]}"
done
#主程序庫配置
install_name_tool -change "libquazip.1.dylib" "@rpath/lib/libquazip.1.dylib" ${appFullPath}
install_name_tool -change "libjsoncpp.1.dylib" "@rpath/lib/libjsoncpp.1.dylib" ${appFullPath}
install_name_tool -change "libcomment.1.dylib" "@rpath/lib/libcomment.1.dylib" ${appFullPath}
install_name_tool -change "libprotocol.1.dylib" "@rpath/lib/libprotocol.1.dylib" ${appFullPath}
install_name_tool -change "libprodoc.1.dylib" "@rpath/lib/libprodoc.1.dylib" ${appFullPath}
install_name_tool -change "libcrypt.1.dylib" "@rpath/lib/libcrypt.1.dylib" ${appFullPath}
#libprodoc.1.dylib配置
prodocFullPath="${libPath}/libprodoc.1.dylib"
install_name_tool -change "libcomment.1.dylib" "@rpath/lib/libcomment.1.dylib" ${prodocFullPath}
install_name_tool -change "libprotocol.1.dylib" "@rpath/lib/libprotocol.1.dylib" ${prodocFullPath}
install_name_tool -change "libquazip.1.dylib" "@rpath/lib/libquazip.1.dylib" ${prodocFullPath}
install_name_tool -change "libcrypt.1.dylib" "@rpath/lib/libcrypt.1.dylib" ${prodocFullPath}
echo "------處理完成------"
此腳本處理的操作是步驟 5 中的所有操作。
9、安裝后發(fā)現(xiàn)找不到當(dāng)前目錄。解決方案:
QDir::currentPath()
將其更改為:
QCoreApplication::applicationDirPath()
10、png到蘋果icns格式圖標(biāo)網(wǎng)站:.
11、mac在命令行打開可執(zhí)行程序:
open ./helloWorld.app