Delphi XE2 Firemonkey 示例应用程序未在 MAC 上运行

发布于 2024-12-02 17:54:44 字数 2734 浏览 1 评论 0 原文

我正在尝试在 Mac 上运行示例 Firemonkey 应用程序,但在 Mac 中收到此消息:

dyld: Library not loaded: @rpath/libcgunwind.1.0.dylib
  Referenced from: /Users/nobre/Applications/Embarcadero/PAServer/scratch-dir/rafael_colucci-Nobre/Project37.app/Contents/MacOS/Project37
  Reason: image not found
dyld: Library not loaded: @rpath/libcgunwind.1.0.dylib
  Referenced from: /Users/nobre/Applications/Embarcadero/PAServer/scratch-dir/rafael_colucci-Nobre/Project37.app/Contents/MacOS/Project37
  Reason: image not found
dyld: Library not loaded: @rpath/libcgunwind.1.0.dylib
  Referenced from: /Users/nobre/Applications/Embarcadero/PAServer/scratch-dir/rafael_colucci-Nobre/Project37.app/Contents/MacOS/Project37
  Reason: image not found

我使用本教程添加了 OSX 平台:

新 Mac 和 Rad Studio XE2

编辑

有关错误的更多信息:

Process:         Teste2 [34270]
Path:            /Users/User/Applications/Embarcadero/PAServer/scratch-dir/rafael_colucci-VM/Teste2.app/Contents/MacOS/Teste2
Identifier:      Teste2
Version:         ??? (???)
Code Type:       X86 (Native)
Parent Process:  launchd [94]

Date/Time:       2011-09-01 19:36:26.246 +0100
OS Version:      Mac OS X 10.6.8 (10K540)
Report Version:  6

Interval Since Last Report:          3908 sec
Crashes Since Last Report:           4
Per-App Crashes Since Last Report:   4
Anonymous UUID:                      58C242CA-C324-4A23-86ED-96D93C7C1A84

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Crashed Thread:  0

Dyld Error Message:
  Library not loaded: @rpath/libcgunwind.1.0.dylib
  Referenced from: /Users/User/Applications/Embarcadero/PAServer/scratch-dir/rafael_colucci-VM/Teste2.app/Contents/MacOS/Teste2
  Reason: image not found

Binary Images:
0x8fe00000 - 0x8fe4163b  dyld 132.1 (???) <4CDE4F04-0DD6-224E-ACE5-3C06E169A801> /usr/lib/dyld

Model: VMware Virtual Platform, BootROM 6.00, 1 processor, 30 GHz, 1 GB, SMC 1.30f3
Graphics: VMware SVGA II, VMware SVGA II, PCI, 16 MB
Network Service: Ethernet, Ethernet, en0
Parallel ATA Device: VMware Virtual IDE CDROM Drive
SCSI Device: SCSI Target Device @ 0
USB Device: VMware Virtual USB Hub, 0x0e0f  (VMWare, Inc.), 0x0002, 0x00200000 / 3
USB Device: VMware Virtual USB Keyboard, 0x05ac  (Apple Inc.), 0x020b, 0x00210000 / 4
USB Device: VMware Virtual USB Mouse, 0x0e0f  (VMWare, Inc.), 0x0003, 0x00100000 / 2

编辑

一些屏幕截图:

App config

PaServer 正在运行

I am trying to run a sample Firemonkey app on a Mac, but I am getting this message in the mac:

dyld: Library not loaded: @rpath/libcgunwind.1.0.dylib
  Referenced from: /Users/nobre/Applications/Embarcadero/PAServer/scratch-dir/rafael_colucci-Nobre/Project37.app/Contents/MacOS/Project37
  Reason: image not found
dyld: Library not loaded: @rpath/libcgunwind.1.0.dylib
  Referenced from: /Users/nobre/Applications/Embarcadero/PAServer/scratch-dir/rafael_colucci-Nobre/Project37.app/Contents/MacOS/Project37
  Reason: image not found
dyld: Library not loaded: @rpath/libcgunwind.1.0.dylib
  Referenced from: /Users/nobre/Applications/Embarcadero/PAServer/scratch-dir/rafael_colucci-Nobre/Project37.app/Contents/MacOS/Project37
  Reason: image not found

I used this tutorial to add a OSX platform:

New Mac and Rad Studio XE2

EDIT

More info about the error:

Process:         Teste2 [34270]
Path:            /Users/User/Applications/Embarcadero/PAServer/scratch-dir/rafael_colucci-VM/Teste2.app/Contents/MacOS/Teste2
Identifier:      Teste2
Version:         ??? (???)
Code Type:       X86 (Native)
Parent Process:  launchd [94]

Date/Time:       2011-09-01 19:36:26.246 +0100
OS Version:      Mac OS X 10.6.8 (10K540)
Report Version:  6

Interval Since Last Report:          3908 sec
Crashes Since Last Report:           4
Per-App Crashes Since Last Report:   4
Anonymous UUID:                      58C242CA-C324-4A23-86ED-96D93C7C1A84

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Crashed Thread:  0

Dyld Error Message:
  Library not loaded: @rpath/libcgunwind.1.0.dylib
  Referenced from: /Users/User/Applications/Embarcadero/PAServer/scratch-dir/rafael_colucci-VM/Teste2.app/Contents/MacOS/Teste2
  Reason: image not found

Binary Images:
0x8fe00000 - 0x8fe4163b  dyld 132.1 (???) <4CDE4F04-0DD6-224E-ACE5-3C06E169A801> /usr/lib/dyld

Model: VMware Virtual Platform, BootROM 6.00, 1 processor, 30 GHz, 1 GB, SMC 1.30f3
Graphics: VMware SVGA II, VMware SVGA II, PCI, 16 MB
Network Service: Ethernet, Ethernet, en0
Parallel ATA Device: VMware Virtual IDE CDROM Drive
SCSI Device: SCSI Target Device @ 0
USB Device: VMware Virtual USB Hub, 0x0e0f  (VMWare, Inc.), 0x0002, 0x00200000 / 3
USB Device: VMware Virtual USB Keyboard, 0x05ac  (Apple Inc.), 0x020b, 0x00210000 / 4
USB Device: VMware Virtual USB Mouse, 0x0e0f  (VMWare, Inc.), 0x0003, 0x00100000 / 2

EDIT

Some screenshots:

App config

PaServer running

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(13

简美 2024-12-09 17:54:44

我刚刚安装了 Delphi XE2 试用版,但遇到了同样的问题 - 由于缺少 libcgunwind.1.0.dylib,无法在 Mac OS X 上启动 FireMonkey 应用程序。

不过,我相信我知道问题是什么。该文件应位于 ($BDS)\Redist\osx32 文件夹内,准备好与 Delphi OSX 应用程序一起部署。但是,如果您只安装了 Delphi XE2 产品而不是完整的 RAD Studio XE2,这些可再发行文件将会丢失,例如根本没有安装。

文档中凡提到此特定文件的地方,都与 C++Builder 相关。因此,如果这确实是问题所在,那可能是内河码头方面的一个(不小的)疏忽。

回答您的问题 - 我相信如果您安装 C++Builder XE2 试用版或整个 RAD Studio XE2 软件包,您应该获得这些可再发行文件。

I just installed the Delphi XE2 Trial and I'm getting the same issue - unable to start a FireMonkey application on Mac OS X because of the missing libcgunwind.1.0.dylib.

However, I believe I know what the problem is. This file should be inside the ($BDS)\Redist\osx32 folder ready to be deployed with your Delphi OSX application. But, if you only installed the Delphi XE2 product instead of the complete RAD Studio XE2, these redistributable files will be missing, e.g. not installed at all.

Wherever this specific file is mentioned in the documents, it's in relation to C++Builder. So if this really is the issue, it's probably a (not so small) oversight on Embarcadero side.

To answer your question - I believe if you install the C++Builder XE2 trial, or the whole RAD Studio XE2 package, you should get these redistributable files.

情深已缘浅 2024-12-09 17:54:44

如果您转到 Mac 上安装 PAServer 的目录,您应该会看到那里存在 libcgunwind.1.0.dylib。

安装程序尝试通过创建 paserver.command 文件来提供帮助。如果您使用它启动,它应该正确设置您的库路径,以便找到上述文件。

如果您移动了 PAServer 位置,只需使用适当的路径手动更新 paserver.command 文件并运行即可。

If you go to the directory where PAServer was installed on you Mac, you should see that libcgunwind.1.0.dylib is present there.

The installer tries to help by creating a paserver.command file. If you launch using this, it should set your library path correctly so the above file is found.

If you've moved your PAServer location, just manually update the paserver.command file with the appropriate paths and run.

水晶透心 2024-12-09 17:54:44

000169AD 处运行时错误 231

这是 VMWare 下的问题,请参阅
https://forums.embarcadero.com/message.jspa?messageID=393962

解决方法是复制 FMX。 Filter.pas 到你的项目目录并修改:

function FilterByName(const AName: string): TFilter;
var
  i: Integer;
begin
  Result := nil;
  if Filters = nil then
    Exit;
  if GlobalUseHWEffects  then
  begin
    for i := 0 to Filters.Count - 1 do
      if CompareText(TFilterClass(Filters.Objects[i]).FilterAttr.Name, AName) = 0
      then
      begin
        Result := TFilterClass(Filters.Objects[i]).Create;
        Exit;
      end;
  end;
end;

function FilterClassByName(const AName: string): TFilterClass;
var
  i: Integer;
begin
  Result := nil;
  if Filters = nil then
    Exit;
  if GlobalUseHWEffects  then
  begin
    for i := 0 to Filters.Count - 1 do
      if CompareText(TFilterClass(Filters.Objects[i]).FilterAttr.Name, AName) = 0
      then
      begin
        Result := TFilterClass(Filters.Objects[i]);
        Exit;
      end;
  end;
end;

并在 dpr 中设置 GlobalUseHWEffects := False;

这是因为 VMWare 和模拟图形硬件

Runtime error 231 at 000169AD

this is a problem under VMWare, see
https://forums.embarcadero.com/message.jspa?messageID=393962

Workaround is copy FMX.Filter.pas to your project directory and modify:

function FilterByName(const AName: string): TFilter;
var
  i: Integer;
begin
  Result := nil;
  if Filters = nil then
    Exit;
  if GlobalUseHWEffects  then
  begin
    for i := 0 to Filters.Count - 1 do
      if CompareText(TFilterClass(Filters.Objects[i]).FilterAttr.Name, AName) = 0
      then
      begin
        Result := TFilterClass(Filters.Objects[i]).Create;
        Exit;
      end;
  end;
end;

function FilterClassByName(const AName: string): TFilterClass;
var
  i: Integer;
begin
  Result := nil;
  if Filters = nil then
    Exit;
  if GlobalUseHWEffects  then
  begin
    for i := 0 to Filters.Count - 1 do
      if CompareText(TFilterClass(Filters.Objects[i]).FilterAttr.Name, AName) = 0
      then
      begin
        Result := TFilterClass(Filters.Objects[i]);
        Exit;
      end;
  end;
end;

and in dpr set GlobalUseHWEffects := False;

This is because VMWare and emulating graphics hardware

安穩 2024-12-09 17:54:44

您必须按照以下说明在此处安装 PA 服务器
在 Mac OS X 上安装并运行 PA

You have to install the PA Server here follow these instructions
Installing and Running the PA on Mac OS X

攒一口袋星星 2024-12-09 17:54:44

Embarcadero 关于启动远程服务器的说明似乎不正确。使用 paserver.copmmand 文件启动服务器。然后我的项目运行得很好。

然后部署。将构建配置更改为“发布”而不是“调试”。您必须将libcgunwind.1.0.dylib复制到Redist\osx32目录,否则发布将失败。然后再次尝试构建/发布。 “project”.rsm 文件位于调试目录中,而不是发布目录中。我将 .rsm 文件复制到发布目录,部署并工作。我自己的演示项目和controlsDemo 项目就是这种情况。两者的工作方式相同。

开始有点艰难,但一切正常。不知道为什么他们在控件演示上放置了一个菜单栏,因为它不太像 mac。将其更改为主菜单,一切都很好。

账单

Embarcadero's instructions on starting the remote server seem to be incorrect. Use the paserver.copmmand file to start the server. Then my project ran fine.

Then Deploying. Change the build configuration to Release instead of Debug. You have to copy the libcgunwind.1.0.dylib to the Redist\osx32 directory or the release will fail. Then tried build/release again. The "project".rsm file is in the debug directory and not in the release directory. I copied the .rsm file to the release directory, Deployed and it worked. This was the case with my own demo project and the controlsDemo project. Either one worked the same way.

A bit rough start but everything is working. Don't know why they put a menubar on the controls demo since it is not very mac-like. Change it to a main menu and everything works great.

Bill

遗弃M 2024-12-09 17:54:44

我已经为我解决了这个问题。我点击了 ide 中的绿色运行按钮,即“运行而不调试”。

点击旁边的运行按钮,在XE2中是我们老年人习惯的运行按钮。

I have solved this for me. I was clicking the green run button in the ide which is 'run without debugging'.

Click the run button next to it, which in XE2 is the run button us older people are used to.

甲如呢乙后呢 2024-12-09 17:54:44

如果您认为需要打开 cmd 窗口并执行以下命令来填充 Redist 文件夹,之后部署管理器将找到必要的文件:

C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\Redist> redistsetup 默认

Deployment Manager 有一个“协调”按钮来刷新列表。

If think you need to open a cmd window and do the following command to populate the Redist folder, after that the the Deployment Manager will locate the necessary files:

C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\Redist> redistsetup default

Deployment Manager has a "Reconcile" button to refresh the list.

み青杉依旧 2024-12-09 17:54:44

控制台“你好,世界”

release - 工作正常(Hello,World)出现在 Platform Assistant 中

终端窗口
调试 - 与发布相同

空的二维表格

release - 000169AD 处运行时错误 231
调试 - 似乎正在运行(在码头中弹跳斯巴达头盔图标)但是

表单从未出现

空 3D 表单

release - 平台助手终端窗口显示“无效像素”

格式”和“无效上下文”消息,但出现表单和菜单栏
其中有“Project1”
调试 - 与发布相同

这些错误意味着您在虚拟机上安装的 MacOS 下运行应用程序。在 VM 上安装 MacOS 与许可证冲突,因此 Embarcadero 不打算支持 VM 环境。

console "Hello, World"

release - works fine (Hello, World) appears in Platform Assistant

terminal window
debug - same as release

empty 2D Form

release - Runtime error 231 at 000169AD
debug - seems to run (bouncing Spartan Helmet icon in dock) but

the form never appears

empty 3D Form

release - Platform Assistant terminal window shows "invalid pixel

format" and "invalid context" messages but form appears and menu bar
has "Project1" in it
debug - same as release

These errors mean that you run your application under MacOS that was installed on Virtual Machine. Installation of MacOS on VM conflicts with license, and therefore Embarcadero does not plan to support the VM environment.

只是在用心讲痛 2024-12-09 17:54:44

只需单击 paserver.command 而不是仅仅单击 paserver..
有用!

您甚至可以在 paserver.command 内最后一行的末尾添加 -password=(your password) (在最后一个 " 之后。然后它会在不询问密码的情况下启动。

Just click paserver.command instead of just paserver..
It works!

U can even add -password=(your password) , at the end of the last line inside paserver.command (after the last " . then it starts without asking for password.

╄→承喏 2024-12-09 17:54:44

确保您的 paserver 中的 paserver 路径后面有一个空格。 -password 部分之前的命令。例如,我的密码是 firemonkey ,行如下:

"/Users/firemonkey/Applications/Embarcadero/PAServer/paserver" -password=firemonkey

然后,确保从 paserver.command 文件运行 paserver。

Make sure there is a space after the path to the paserver in your paserver. Command before the -password part. For instance, my password is firemonkey and the line is as follows:

"/Users/firemonkey/Applications/Embarcadero/PAServer/paserver" -password=firemonkey

Then, make sure you run the paserver from the paserver.command file.

姜生凉生 2024-12-09 17:54:44

检查 RAD Studio 安装路径中新的“Redist”文件夹。您的应用程序需要其中的一些文件。

Check the new "Redist" folder in the RAD Studio installation path. Your application needs some files from it.

绝情姑娘 2024-12-09 17:54:44

运行 paserver.command 有助于解决第一个问题,但我认为其中大部分是丢失的文件。

检查部署时,($BDS)\Redist\osx32 文件夹中的文件 libcgunwind.1.0.dylib 呈灰色,因此我从 mac 上的 PAServer 复制了该文件并刷新,现在该应用程序独立运行良好:)

Running the paserver.command helped with the first problem but most of it is the I think a missing file.

Checking deploy, the file libcgunwind.1.0.dylib in ($BDS)\Redist\osx32 folder was greyed out so I copied the file from the PAServer on the mac and refreshed now the app runs fine stand alone :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文