Windows系统程序移植到mac的过程记录

记录移植过程中的问题和解决过程:3、Mac系统的程序路径后面带着一串,如下:右键应用程序,“显示包内容”,进入真正的路径。app)过程如下:7、上一步达成的包是直接运行的。Mac上安装程序更普遍的方式是拖动安装包到“安装程序”然后程序就出现在启动台,可以从启动台运行程序。这个脚本处理的操作就是第5步的所有操作。9、安装后发现无法定位当前目录,解决办法:11、Mac上命令行打开可执行程序:...

记录迁移过程中的问题和解决方案:

1、svn 取消不需要版本控制的文件:

2、 在 mac 上编译

安装 zlib 依赖项:

brew install zlib

安装时终端提示:

冲泡:未找到

解决方案是执行:

红宝石-e“$(卷曲-fsSL)”

3、mac系统的程序路径后跟一个字符串,如下:

右键单击应用程序,“显示包内容”,然后输入真实路径。

如何复制4、mac下的文件路径

5、重头戏是节目包装。(假设程序名称为.app)流程如下:

6、打包成安装包mac系统软件进程名,执行:/Users//Qt5.12.2/5.12.2//bin/ /Users/ /-dmg

7、直接运行上一步到达的包。在mac上安装程序比较常见的方法是将安装包拖到“安装程序”中,程序会出现在中,可以从运行。你可以参考:

mac打包dmg文件(替换背景图片)

生成DMG包的操作:磁盘工具->选择新添加的图片->右键选择“xxx的图片”->保存。

8、上面的打包步骤太麻烦了mac系统软件进程名,每次修改程序都做这个太麻烦了。可以写成shell脚本进行处理。如下:

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) #当前路径
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 "目标文件:${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、安装后发现找不到当前目录。解决方案:

QDir::currentPath()

将其更改为:

QCoreApplication::applicationDirPath()

10、png到苹果icns格式图标网站:.

11、mac在命令行打开可执行程序:

open ./helloWorld.app

相关文章

发表评论