Пример приложения Delphi XE2 Firemonkey не работает на MAC - PullRequest
17 голосов
/ 01 сентября 2011

Я пытаюсь запустить пример приложения Firemonkey на Mac, но я получаю это сообщение на 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

EDIT

Подробнее об ошибке:

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

Некоторые скриншоты:

App config

PaServer running

Ответы [ 13 ]

11 голосов
/ 02 сентября 2011

Я только что установил Delphi XE2 Trial, и у меня возникла та же проблема - не удалось запустить приложение FireMonkey на Mac OS X из-за отсутствия libcgunwind.1.0.dylib.

Однако я думаю, что знаю, в чем проблема.Этот файл должен находиться в папке ($ BDS) \ Redist \ osx32, готовой для развертывания с приложением Delphi OSX.Но если вы только установили продукт Delphi XE2 вместо полной RAD Studio XE2, эти распространяемые файлы будут отсутствовать, например не установлены вообще.

Где бы этот конкретный файл не упоминался в документах, он относится к C ++ Builder.Так что, если это действительно проблема, это, вероятно, (не такой уж маленький) недосмотр со стороны Embarcadero.

Чтобы ответить на ваш вопрос - я полагаю, если вы установите пробную версию C ++ Builder XE2 или всю RAD StudioПакет XE2, вы должны получить эти распространяемые файлы.

6 голосов
/ 01 сентября 2011

Если вы перейдете в каталог, где PAServer был установлен на вашем Mac, вы должны увидеть, что там присутствует libcgunwind.1.0.dylib.

Программа установки пытается помочь, создав файл paserver.command.Если вы запускаете его с помощью этого, он должен правильно указать путь к вашей библиотеке, чтобы найти вышеуказанный файл.

Если вы переместили папку PAServer, просто обновите файл paserver.command вручную, указав соответствующие пути и запустите.

5 голосов
/ 26 сентября 2011

Ошибка выполнения 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 и эмуляция графического оборудования

2 голосов
/ 02 сентября 2011

Инструкции Embarcadero по запуску удаленного сервера кажутся неверными.Используйте файл paserver.copmmand для запуска сервера.Тогда мой проект прошел нормально.

Затем развертывание.Измените конфигурацию сборки на Release вместо Debug.Вы должны скопировать libcgunwind.1.0.dylib в каталог Redist \ osx32, иначе выпуск не удастся.Затем попытался построить / выпустить снова.Файл "project" .rsm находится в каталоге отладки, а не в каталоге выпуска.Я скопировал файл .rsm в каталог релизов, развернул, и он заработал.Это имело место с моим собственным демонстрационным проектом и проектом controlsDemo.Либо один работал так же.

Немного грубый старт, но все работает.Не знаю, почему они поместили менубар в демонстрационную версию управления, так как он не очень похож на макинтош.Измените его на главное меню, и все прекрасно работает.

Билл

2 голосов
/ 01 сентября 2011

Вы должны установить PA Server здесь, следуйте этим инструкциям Установка и запуск PA в Mac OS X

1 голос
/ 24 ноября 2011

Убедитесь, что после пути к paserver в вашем paserver есть пробел. Команда перед -password частью. Например, мой пароль firemonkey и строка выглядит следующим образом:

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

Затем убедитесь, что вы запускаете paserver из файла paserver.command.

1 голос
/ 20 сентября 2011

Просто нажмите paserver.command вместо просто paserver .. Это работает!

U может даже добавить -password = (ваш пароль) в конце последней строки внутри paserver.command (после последней ". Затем он запускается без запроса пароля.

1 голос
/ 12 сентября 2011

консоль "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

форма никогда не появляется

пустая трехмерная форма

release - Platform Assistant terminal window shows "invalid pixel

форматировать "и" недопустимый контекст "сообщения, но появляется форма и строка меню имеет "Project1" в нем отладка - так же, как выпуск

Эти ошибки означают, что вы запускаете приложение под MacOS, установленной на виртуальной машине. Установка MacOS на ВМ конфликтует с лицензией, и поэтому Embarcadero не планирует поддерживать среду ВМ.

1 голос
/ 04 сентября 2011

Если вам нужно открыть окно cmd и выполнить следующую команду для заполнения папки Redist, после этого менеджер развертывания найдет необходимые файлы:

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

Диспетчер развертывания имеет кнопку «Подтвердить» для обновления списка.

1 голос
/ 01 сентября 2011

Я решил это для себя. Я нажимал зеленую кнопку запуска в ide, который называется «запускать без отладки».

Нажмите кнопку запуска рядом с ней, которая в XE2 - кнопка запуска, к которой привыкли пожилые люди.

...