Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos qt将多个可执行文件放在mac OSX上的一个包中_Macos_Qt_Bundle_Macdeployqt - Fatal编程技术网

Macos qt将多个可执行文件放在mac OSX上的一个包中

Macos qt将多个可执行文件放在mac OSX上的一个包中,macos,qt,bundle,macdeployqt,Macos,Qt,Bundle,Macdeployqt,我们有4个mac应用程序,它们构成“套件”的一部分,每个应用程序用于通过USB连接的不同科学仪器 我在Windows上的同事开发了一个闪屏应用程序,可以让你从四个独立的程序中选择一个运行,具体取决于你使用的仪器。在Windows上,此启动屏幕应用程序与其他可执行文件位于同一文件夹中,所有依赖项和库也包含在同一文件夹中。因此,只要点击所需的单选按钮,然后程序就会启动 我希望在Mac OS X上做的是将4个独立的程序捆绑到一个应用程序捆绑包和启动屏幕中,这样当应用程序启动时,用户将看到启动屏幕,然后

我们有4个mac应用程序,它们构成“套件”的一部分,每个应用程序用于通过USB连接的不同科学仪器

我在Windows上的同事开发了一个闪屏应用程序,可以让你从四个独立的程序中选择一个运行,具体取决于你使用的仪器。在Windows上,此启动屏幕应用程序与其他可执行文件位于同一文件夹中,所有依赖项和库也包含在同一文件夹中。因此,只要点击所需的单选按钮,然后程序就会启动

我希望在Mac OS X上做的是将4个独立的程序捆绑到一个应用程序捆绑包和启动屏幕中,这样当应用程序启动时,用户将看到启动屏幕,然后当您选择适当的应用程序时,它将自动启动

依赖项和库对于所有应用都是通用的

我很乐意使用构建包含所有依赖项的应用程序包,但我不确定是否可以将多个二进制文件构建到一个应用程序包中,以及如何设置要启动的默认应用程序(启动屏幕)

提前感谢:)


Mitch

是的,在另一个应用程序包中可以有多个应用程序包

如何设置要启动的默认应用程序

正如您可能知道的,当您构建一个bundle时,主可执行二进制文件驻留在bundle的Contents/MacOS文件夹中

捆绑包中还有Info.plist文件,这是一个清单,OSX使用它来知道用户运行应用程序时要执行哪个二进制文件。在本例中,键CFBundleExecutable命名Contents/MacOS文件夹中的二进制文件


如果将其他应用程序捆绑包复制到Resources文件夹,则可以从启动屏幕应用程序中选择并根据需要执行。

不确定详细信息,但这绝对是可能的——如果您使用这些模块,即使macdeployqt本身也会将WebKit和WebEngine可执行文件插入到应用程序包中。您的其他应用程序不必是完整的包,它们也可以是复制到Contents/MacOS中的可执行文件。你可以在命令行上告诉macdeployqt,这样它也可以复制其他二进制文件所需的框架。谢谢各位,你认为你可以详细说明如何从闪屏应用程序的代码中引用Resources文件夹吗?这就是我在回答中链接到的内容。啊,是的,对不起,我没有看到。我遇到的另一个问题是,将CFBundleExecutable变量更改为不同的二进制文件并不会改变首先执行的程序,这应该在编译后更改,还是应该提前指定?请针对新问题开始一个新问题。这将给它更多的可视性和更好的机会让你得到一个好的答案。