我有Qt/C ++项目,我想创建一个Mac OS版本。我使用CMakeLists和makefile build使用cmake机制编写了它。它的一个特性是,你可以用一个自定义的URI方案来执行它,所以官方的Mac OS文档说它必须写在Info.plist上,但是make build输出只是一个可执行文件,而不是像{ApplicationName}. app这样的包。是否有任何工具可以将可执行文件绑定到{ApplicationName}. app样式?
xxe27gdn1#
@chatzich说的话,
add_executable(appName MACOSX_BUNDLE ${mySources} ${myResources} )
如果你想重新发布你的作品,还有其他事情要做,比如在应用程序上运行macdeployqt来帮助捆绑库。
macdeployqt
aemubtdh2#
必须先设置set_target_properties(appName PROPERTIES_MACOSX_BUNDLE TRUE)和set(TARGET_EXE build_dir/appName.app/Contents/MacOS/appName)
vptzau2j3#
将代码添加到comakeList.txt
add_executable(${PROJECT_NAME} MACOSX_BUNDLE main.cpp ) set_target_properties(yourProjectName PROPERTIES BUNDLE True MACOSX_BUNDLE_BUNDLE_NAME yourProjectName MACOSX_BUNDLE_ICON_FILE "0.1" MACOSX_BUNDLE_BUNDLE_VERSION "0.1" MACOSX_BUNDLE_SHORT_VERSION_STRING "0.1" MACOSX_BUNDLE_LS_SYS_VERSION "10.13.4" MACOSX_BUNDLE_INFO_PLIST absolutePath of MacOSXBundleInfo.plist.in ) include(CPack)
3条答案
按热度按时间xxe27gdn1#
@chatzich说的话,
如果你想重新发布你的作品,还有其他事情要做,比如在应用程序上运行
macdeployqt
来帮助捆绑库。aemubtdh2#
必须先设置set_target_properties(appName PROPERTIES_MACOSX_BUNDLE TRUE)和set(TARGET_EXE build_dir/appName.app/Contents/MacOS/appName)
vptzau2j3#
将代码添加到comakeList.txt