gcc를 사용하여 cygwin86_64에서 Objective-c 코드를 컴파일할 수 있도록 64비트에서 "libgnustep-base.a" 파일을 빌드하려고 합니다. "gnustep-base-1.26.0" 폴더에 make 파일이 있습니다. "@echo GNU make를 사용하여 GNUstep 기본 라이브러리를 컴파일해야 합니다."라는 문자열만 포함되어 있습니다. 먼저 이것이 매우 파격적이고 이상하다는 것을 알았습니다. "gnustep-make-2.7.0"이라는 폴더도 있습니다. 매뉴얼에는 다음과 같이 나와 있습니다. 수행해야 할 첫 번째 빌드에서는 "./configure--->make---->make install"을 수행했습니다. 이는 실제로 아무것도 하지 않지만 C 포함 파일을 극도로 오랫동안 스캔하여 다음이 있는지 확인합니다. 존재하는 몇 가지 매우 일반적인 기능(예: printf).
답변1
내가 아는 한, 먼저 /usr/local
패키지를 다운로드, 구성 및 설치해야 합니다 gnustep-make
.
물론 gcc-objc
, make
및 기타 패키지를 설치해야 합니다.
$ wget https://github.com/gnustep/tools-make/releases/download/make-2_8_0/gnustep-make-2.8.0.tar.gz
$ tar -xf gnustep-make-2.8.0.tar.gz
$ cd gnustep-make-2.8.0
$ ./configure LDFLAGS="-Wl,--allow-multiple-definition"
$ make install
$ cd ..
베이스로도 같은 작업을 수행할 수 있습니다.
$ wget https://github.com/gnustep/libs-base/releases/download/base-1_27_0/gnustep-base-1.27.0.tar.gz
$ tar -xf gnustep-base-1.27.0.tar.gz
$ cd gnustep-base-1.27.0
$ ./configure LDFLAGS="-Wl,--allow-multiple-definition"
Source/common.h
에 추가 하다
#define TRUE 1
#define FALSE 1
그런 다음
$ make
불행히도 나중에 연결 단계에서 빌드가 실패합니다.
relocation truncated to fit: R_X86_64_PC32 against undefined symbol `object_getRetainCount_np'
언뜻 보면 일부인 것 같지만libobjc2
https://github.com/gnustep/libobjc2/releases/tag/v2.1
gcc
그것은 구축 되고 요청되는 것을 좋아하지 않습니다 clang
. 내가 아는 한 Cygwin clang에는 해당 부분이 없지만 objC
내가 틀렸을 수도 있습니다.