macos Delphi XE2 Firemonkey 示例应用程序未在 MAC 上运行
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/7271317/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Delphi XE2 Firemonkey sample app not running on a MAC
提问by Rafael Colucci
I am trying to run a sample Firemonkey app on a Mac, but I am getting this message in the mac:
我正在尝试在 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
I used this tutorial to add a OSX platform:
我使用本教程添加了一个 OSX 平台:
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:
一些截图:
采纳答案by Goran Skledar
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.
我刚刚安装了 Delphi XE2 试用版,但遇到了同样的问题 - 由于缺少 libcgunwind.1.0.dylib,无法在 Mac OS X 上启动 FireMonkey 应用程序。
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.
但是,我相信我知道问题是什么。该文件应该位于 ($BDS)\Redist\osx32 文件夹内,准备好与您的 Delphi OSX 应用程序一起部署。但是,如果您只安装了 Delphi XE2 产品而不是完整的 RAD Studio XE2,那么这些可再发行文件将丢失,例如根本没有安装。
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.
无论在文档中的何处提及此特定文件,它都与 C++Builder 相关。因此,如果这真的是问题所在,那么这可能是 Embarcadero 方面的一个(不那么小的)疏忽。
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.
回答您的问题 - 我相信如果您安装 C++Builder XE2 试用版或整个 RAD Studio XE2 包,您应该获得这些可再发行文件。
回答by Travis H
If you go to the directory where PAServer was installed on you Mac, you should see that libcgunwind.1.0.dylib is present there.
如果您转到 Mac 上安装 PAServer 的目录,您应该会看到 libcgunwind.1.0.dylib 存在于那里。
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.
安装程序会尝试通过创建 paserver.command 文件来提供帮助。如果您使用它启动,它应该正确设置您的库路径,以便找到上述文件。
If you've moved your PAServer location, just manually update the paserver.command file with the appropriate paths and run.
如果您移动了 PAServer 位置,只需使用适当的路径手动更新 paserver.command 文件并运行。
回答by netcodecz
Runtime error 231 at 000169AD
运行时错误 231,位于 000169AD
this is a problem under VMWare, see https://forums.embarcadero.com/message.jspa?messageID=393962
这是VMWare下的问题,见 https://forums.embarcadero.com/message.jspa?messageID=393962
Workaround is copy FMX.Filter.pas to your project directory and modify:
解决方法是将 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;
and in dpr set GlobalUseHWEffects := False;
并在 dpr 中设置 GlobalUseHWEffects := False;
This is because VMWare and emulating graphics hardware
这是因为 VMWare 和模拟图形硬件
回答by Bill Miller
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.
Embarcadero 关于启动远程服务器的说明似乎不正确。使用 paserver.copmmand 文件启动服务器。然后我的项目运行良好。
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.
然后部署。将构建配置更改为 Release 而不是 Debug。您必须将 libcgunwind.1.0.dylib 复制到 Redist\osx32 目录,否则发布将失败。然后再次尝试构建/发布。“project”.rsm 文件位于调试目录中,而不是在发布目录中。我将 .rsm 文件复制到发布目录 Deployed 并且它起作用了。我自己的演示项目和controlsDemo 项目就是这种情况。任何一个都以相同的方式工作。
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.
开始有点粗糙,但一切正常。不知道为什么他们在控件演示上放了一个菜单栏,因为它不是很像 mac。将其更改为主菜单,一切正常。
Bill
账单
回答by helloworld0101
You have to install the PA Server here follow these instructions Installing and Running the PA on Mac OS X
您必须在此处安装 PA 服务器,请按照以下说明 在 Mac OS X 上安装和运行 PA
回答by Richard Holland
I have solved this for me. I was clicking the green run button in the ide which is 'run without debugging'.
我已经为我解决了这个问题。我正在单击 ide 中的绿色运行按钮,该按钮是“无需调试即可运行”。
Click the run button next to it, which in XE2 is the run button us older people are used to.
单击旁边的运行按钮,在 XE2 中,这是我们老年人习惯的运行按钮。
回答by David Berneda
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:
如果您认为您需要打开一个 cmd 窗口并执行以下命令来填充 Redist 文件夹,之后部署管理器将找到必要的文件:
C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\Redist> redistsetup default
C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\Redist> redistsetup default
Deployment Manager has a "Reconcile" button to refresh the list.
部署管理器有一个“协调”按钮来刷新列表。
回答by Devart
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
控制台“你好,世界”
release - works fine (Hello, World) appears in Platform Assistant
终端窗口调试 - 与发布相同
空的二维表格
release - Runtime error 231 at 000169AD debug - seems to run (bouncing Spartan Helmet icon in dock) but
表格永远不会出现
空的 3D 表格
release - Platform Assistant terminal window shows "invalid pixel
格式”和“无效上下文”消息,但出现表单并且菜单栏中有“Project1”调试 - 与发布相同
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.
这些错误意味着您在安装在虚拟机上的 MacOS 下运行您的应用程序。在 VM 上安装 MacOS 与许可证冲突,因此 Embarcadero 不打算支持 VM 环境。
回答by Eric
Just click paserver.command instead of just paserver.. It works!
只需单击 paserver.command 而不是 paserver .. 它有效!
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.
你甚至可以在 paserver.command 的最后一行的末尾添加 -password=(your password) (在最后一个 " 之后。然后它开始而不要求密码。
回答by Johann
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:
确保您的 paserver 中的 paserver 路径后有一个空格。-password
部分之前的命令。例如,我的密码是firemonkey
,行如下:
"/Users/firemonkey/Applications/Embarcadero/PAServer/paserver" -password=firemonkey
Then, make sure you run the paserver from the paserver.command
file.
然后,确保从paserver.command
文件运行 paserver 。