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