2019년 10월 8일 화요일

MAC 에서 Lazarus 사용이 쉬워졌습니다.

2019. 10 현재 라자루스 새로운 버전을 설치하면 별로 어려움이 없이 사용이 가능합니다.
예전에는 디버거 관련하여 설정이 어려웠는데 이제는 별다는 조치없이 바로 사용이 가능합니다.

이번에는 라자루스에 Qt5 를 사용하도록 해보겠습니다.
일단 Qt5를 설치하여야 겠지요.
QtCreater 가 설치되네요. C++ 을 사용하시는 분은 곧바로 사용이 사능합니다.
QtDesigner도 같이 설치되네요.
파이썬을 사용하여고 하면 sideSpy를 별도로 설치해야 하더군요.

라자루스를 이용하려면 wiki.lazarus.freepascal.org 에서 Qt5를 찾으면 됩니다.

Mac 에서 설치하려면
아랫부분을 참고하셔서 그래로 하면됩니다. 그런데 Qt 5.13.1 을 기준으로 약간 수정사항이 있습니다.

LazarusDir=/Developer/Lazarus
QtDir=~/Qt
cd $LazarusDir/lcl/interfaces/qt5/cbindings
PATH=$QtDir/5.13.1/clang_64/bin:$PATH
qmake

xcode 가 설치되었으니 별문제없이 처리가 되네요.

make
make install

은 시간이 엄청 많이 걸립니다.
결과물로 Qt5pas.frameworks 가 Qt5의 lib 디렉토리에 만들어 집니다.
이것을 라이브러리에 링크하여야 겠지요.

cd /Library/Frameworks/
sudo ln -s $QtDir/5.13.1/clang_64/lib/Qt5pas.framework .

여기까지는 잘되었는데... 64비트용으로 바꾸고

Remember that Qt5 is 64bit, so in Lazarus under Tools - Options - Environment, you need to change Compiler Executable from /usr/local/bin/ppc386 to /usr/local/bin/ppcx64 . With ppc386, you would later get the following errors when compiling your Lazarus projects:

라자루스에서 Tools - Options - Config "Build Lazarus" 했더니

"fpcres" not found, switching to external mode

터미널 창에서 fpcres 하면 버전등이 표시가 되는데 왜그럴까.. 구굴링 했더니.

nothing.
Check out if you have a symbolic link to fpcres utility in /usr/bin.
if you don't you need to create one
Code: [Select]
cd /usr/bin
sudo ln -s path_to_fpcres
you've installed fpc from .dmg file, path_to_fpcres is probably "/usr/local/bin/fpcres".

하라고 합니다. 했더니..
root 인데도 불구하고 Operation not Permitted 오류가 나고 되지 않는다.

또 구굴링 했더니. 이것은 El Capitan 이후에 적용된 Apple SIP (System Integrity Protection; 시스템통합보안) 때문이다고 하네요.
SIP대상 폴더는 /System, /bin, /sbin, /usr 폴더 입니다.

해결방법은 SIP기능을 해제하면됩니다.

1. 재부팅시 cmd + R 누르고 있는다. 복구화면이 것이다.
2. 언어를 선택하고 넘어간다.
3. 유틸리티 > 터미널 선택하여 터미널 창을 연다.
4. 터미널창에서 csrutil disable 입력하고 엔터
SIP기능이 해제되었다고 나온다.
5. 터미널에서 reboot 입력하고 엔터(재부팅한다.)
6. 나중에 다시 보안에 문제가 되면 enable로 원상하여야 겠지요. 


재부팅후에는 root 권한을 얻어 (sudo su - ) 복사, 이동, 삭제가 가능하게 된다.


이젠, 라자루스에서 ide 환경을 수정하여 빌드합니다.
id: framework not found Qt5Pas 에러가 나옵니다. 아래 처럼  Tools - options 에서 수정합니다.

-F/Library/Frameworks

그리고 전체적으로 다시 빌드합니다.
잘끝났네요. 휴. 엄청힘드네요.