macos - Delphi 和 OSX - 使用 App Bundle 部署 Unix 可执行文件

标签 macos delphi deployment

这是我正在尝试解决的设置 -

我正在开发一个主要是 .dylib 的应用程序

为了运行这个 .dylib,我使用 xcode 创建了一个小应用程序。我想要做的是将此应用程序与我的 Delphi 项目一起作为应用程序包的一部分进行分发。当我启动远程调试器时,我希望 Delphi 使用 xcode 应用程序作为“主机应用程序”。

所以,我想我已经把一切都准备好了。我将 xcode 应用程序复制到我的 Windows 计算机上,并将其插入到我的项目的“部署”菜单中,以便它出现在应用程序包内的“Contents\MacOS”中。

不幸的是,部署后,有些东西似乎丢失了。该文件没有设置其可执行标志,或者其资源树已丢失。有什么方法可以设置Delphi,使其可以正确部署“unix可执行文件”吗?

(注意一点 - 我确实通过将文件移至 Windows 计算机来检查以确保该文件没有损坏/修改。问题似乎发生在部署时。)

最佳答案

PAClient 似乎会根据文件发送的“模式”来更改权限。这是一个快速解决方法:

如果您想使用 PAClient 部署可执行文件:

paclient.exe --put="PathToFileOnLocalMachine\filename,PathToFileOnOSXMachine\,1,filename

要作为可执行文件发送,请确保在命令中使用“1”。

如果您想欺骗 Delphi 为您部署可执行文件:

在文本编辑器中打开 .dproj 文件。找到您尝试部署的文件的列表。查找此特定行:

<DeployFile LocalName="FileName" Class="File">

并将类从“File”切换为“ProjectOutput”。

现在 Delphi 将正确部署可执行文件。

关于macos - Delphi 和 OSX - 使用 App Bundle 部署 Unix 可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21448681/

相关文章:

c++ - 跨操作系统的编译器行为不一致(使用 ubuntu docker 容器的 Mac OS/Windows)( 'no symbol' 的多个定义)

python 声音("Bell")

objective-c - 为什么取消引用 null 不会使我的程序崩溃?

bash - 从 zsh 进入 bash 时如何加载 ~/.bash_profile?

delphi - 使用indy HTTP客户端和Superobject DELPHI http 400错误代码与rpc服务通信

德尔福6 : Force compiler error on missing abstract class methods?

delphi - 无法连接定义的字符串和图像文件路径中的文本

Java部署

java.lang.NoClassDefFoundError : org/springframework/web/context/ContextCleanupListener 错误

tomcat - 使用 Maven 仅将 Webapp 中的差异部署到远程服务器