GNUstep gnustepbaseビルド64ビット

GNUstep gnustepbaseビルド64ビット

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-objcmakeその他のパッケージをインストールする必要があります。

$ 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私が間違っている可能性があります。

関連情報