簡體   English   中英

Delphi XE2 Firemonkey示例應用程序未在MAC上運行

[英]Delphi XE2 Firemonkey sample app not running on a 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

我使用本教程添加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

編輯

一些截圖:

應用配置

PaServer正在運行

我剛剛安裝了Delphi XE2試用版,我遇到了同樣的問題 - 由於缺少libcgunwind.1.0.dylib而無法在Mac OS X上啟動FireMonkey應用程序。

但是,我相信我知道問題是什么。 此文件應位於($ BDS)\\ Redist \\ osx32文件夾中,隨時可與Delphi OSX應用程序一起部署。 但是,如果您只安裝了Delphi XE2產品而不是完整的RAD Studio XE2,那么這些可再發行的文件將會丟失,例如根本沒有安裝。

無論文檔中提到此特定文件,它都與C ++ Builder有關。 因此,如果這確實是問題,那么對Embarcadero方面的監督可能是(不是那么小)。

要回答您的問題 - 我相信如果您安裝C ++ Builder XE2試用版或整個RAD Studio XE2程序包,您應該獲得這些可再發行的文件。

如果你去Mac上安裝PAServer的目錄,你會發現那里有libcgunwind.1.0.dylib。

安裝程序嘗試通過創建paserver.command文件來提供幫助。 如果使用此方法啟動,則應正確設置庫路徑,以便找到上述文件。

如果您已移動PAServer位置,只需使用適當的路徑手動更新paserver.command文件並運行即可。

運行時錯誤231在000169AD

這是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和仿真圖形硬件

您必須在此處安裝PA服務器,請按照以下說明在Mac OS X上安裝和運行PA

Embarcadero關於啟動遠程服務器的說明似乎不正確。 使用paserver.copmmand文件啟動服務器。 然后我的項目運行良好。

然后部署。 將構建配置更改為Release而不是Debug。 您必須將libcgunwind.1.0.dylib復制到Redist \\ osx32目錄,否則發布將失敗。 然后再次嘗試構建/發布。 “project”.rsm文件位於debug目錄中,而不在release目錄中。 我將.rsm文件復制到發布目錄Deployed並且它工作正常。 我自己的演示項目和controlsDemo項目就是這種情況。 任何一個都以同樣的方式工作。

有點粗糙的開始,但一切正常。 不知道為什么他們在控制演示中放入菜單欄,因為它不是很像mac。 將其更改為主菜單,一切都很好。

法案

我已經為我解決了這個問題。 我點擊了ide中的綠色運行按鈕,即“無需調試運行”。

單擊它旁邊的運行按鈕,它在XE2中是我們老年人習慣的運行按鈕。

如果認為您需要打開cmd窗口並執行以下命令來填充Redist文件夾,那么Deployment Manager將找到所需的文件:

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

Deployment Manager有一個“Reconcile”按鈕來刷新列表。

控制台“Hello,World”

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

終端窗口調試 - 與發布相同

空2D表格

 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“調試 - 與發布相同

這些錯誤意味着您在Virtual Machine上安裝的MacOS下運行應用程序。 在VM上安裝MacOS與許可證沖突,因此Embarcadero不打算支持VM環境。

只需點擊paserver.command而不僅僅是paserver ..它的工作原理!

你甚至可以在paserver.command中的最后一行末尾添加-password =(你的密碼)(在最后一行之后。然后它開始時不需要輸入密碼。

確保paserver中paserver的路徑后面有空格。 -password部分之前的命令。 例如,我的密碼是firemonkey ,行如下:

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

然后,確保從paserver.command文件運行paserver.command

檢查RAD Studio安裝路徑中的新“Redist”文件夾。 您的應用程序需要一些文件。

運行paserver.command有助於解決第一個問題,但大部分是我認為丟失的文件。

檢查部署,($ BDS)\\ Redist \\ osx32文件夾中的文件libcgunwind.1.0.dylib是灰色的,所以我從Mac上的PAServer復制文件並刷新現在應用程序運行良好獨立:)

只需從PAServer文件夾中復制並運行該應用程序即可。 請記住,要安裝並運行PAServer,您應該執行此操作http://docwiki.embarcadero.com/RADStudio/XE2/en/Installing_and_Running_the_Platform_Assistant_on_the_Target_Platform#Mac%3a_Installing_and_Running_the_Platform_Assistant_.28paserver.29_on_a_Mac

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM