방금 Delphi XE2 평가판을 설치했는데 동일한 문제가 발생합니다. libcgunwind.1.0.dylib가 없어서 Mac OS X에서 FireMonkey 응용 프로그램을 시작할 수 없습니다.
그러나 나는 문제가 무엇인지 알고 있다고 믿습니다. 이 파일은 Delphi OSX 애플리케이션과 함께 배포 할 준비가 된 ($ BDS) \ Redist \ osx32 폴더 안에 있어야합니다. 그러나 전체 RAD Studio XE2 대신 Delphi XE2 제품 만 설치 한 경우 이러한 재배포 가능 파일이 누락됩니다 (예 : 전혀 설치되지 않음).
이 특정 파일이 문서에서 언급되는 모든 곳은 C ++ Builder와 관련이 있습니다. 따라서 이것이 정말로 문제라면 엠바 카데로 측에 대한 (그다지 작지 않은) 감독 일 것입니다.
질문에 답하기 위해-C ++ Builder XE2 평가판 또는 전체 RAD Studio XE2 패키지를 설치하면 이러한 재배포 가능 파일을 받아야합니다.
-------------------Mac에서 PAServer가 설치된 디렉토리로 이동하면 libcgunwind.1.0.dylib가있는 것을 볼 수 있습니다.
설치 프로그램은 paserver.command 파일을 생성하여 도와줍니다. 이것을 사용하여 시작하면 위의 파일을 찾을 수 있도록 라이브러리 경로를 올바르게 설정해야합니다.
PAServer 위치를 이동 한 경우 적절한 경로로 paserver.command 파일을 수동으로 업데이트하고 실행하면됩니다.
-------------------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 및 에뮬레이션 그래픽 하드웨어
-------------------여기에서 PA 서버를 설치해야합니다. 다음 지침을 따르십시오 . Mac OS X에서 PA 설치 및 실행
-------------------원격 서버 시작에 대한 Embarcadero의 지침이 잘못된 것 같습니다. paserver.copmmand 파일을 사용하여 서버를 시작합니다. 그런 다음 내 프로젝트가 잘 실행되었습니다.
그런 다음 배포. 빌드 구성을 디버그 대신 릴리스로 변경하십시오. libcgunwind.1.0.dylib를 Redist \ osx32 디렉토리에 복사해야합니다. 그렇지 않으면 릴리스가 실패합니다. 그런 다음 빌드 / 릴리스를 다시 시도했습니다. "project".rsm 파일은 릴리스 디렉토리가 아닌 디버그 디렉토리에 있습니다. .rsm 파일을 배포 디렉토리 인 Deployed에 복사했는데 제대로 작동했습니다. 이것은 내 자신의 데모 프로젝트와 controlsDemo 프로젝트의 경우였습니다. 둘 다 같은 방식으로 작동했습니다.
약간 거친 시작이지만 모든 것이 작동합니다. Mac과 비슷하지 않기 때문에 컨트롤 데모에 메뉴 바를 추가 한 이유를 모르겠습니다. 메인 메뉴로 변경하면 모든 것이 잘 작동합니다.
계산서
-------------------이 문제를 해결했습니다. 나는 '디버깅하지 않고 실행'인 ide에서 녹색 실행 버튼을 클릭했습니다.
옆에있는 실행 버튼을 클릭합니다. XE2에서는 노인들이 익숙한 실행 버튼입니다.
-------------------cmd 창을 열고 다음 명령을 수행하여 Redist 폴더를 채워야한다고 생각하면 배치 관리자가 필요한 파일을 찾습니다.
C : \ Program Files (x86) \ Embarcadero \ RAD Studio \ 9.0 \ Redist> redistsetup 기본값
Deployment Manager에는 목록을 새로 고침 할 수있는 '조정'버튼이 있습니다.
-------------------콘솔 "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
format "및"invalid context "메시지가 나타나지만 폼이 나타나고 메뉴 모음에"Project1 "이 디버그에 포함됨-릴리스와 동일
이러한 오류는 가상 머신에 설치된 MacOS에서 애플리케이션을 실행한다는 것을 의미합니다. VM에 MacOS를 설치하면 라이선스와 충돌하므로 Embarcadero는 VM 환경을 지원할 계획이 없습니다.
-------------------그냥 paserver .. 대신 paserver.command를 클릭하십시오. 작동합니다!
U는 paserver.command 내부의 마지막 줄 끝에 -password = (your password)를 추가 할 수도 있습니다 (마지막 "뒤에". 그러면 암호를 묻지 않고 시작됩니다.
-------------------paserver의 paserver 경로 뒤에 공백이 있는지 확인하십시오. -password
부품 앞에 명령 . 예를 들어, 내 암호는 firemonkey
다음과 같습니다.
"/Users/firemonkey/Applications/Embarcadero/PAServer/paserver" -password=firemonkey
그런 다음 paserver.command
파일 에서 paserver를 실행해야 합니다.
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을 수행해야합니다.
출처
https://stackoverflow.com/questions/7415089