4

Fedora(笑)を使っています。私はこのディストリビューションでcとjavaでたくさんのプログラミングをしました。そこで、LinuxでObjective-Cプログラミングを試してみることにしました。インターネットでたくさんのページを検索して、ついに見つけました。

http://www.techotopia.com/index.php/Building_and_Installing_GNUstep_on_Linux

このページに記載されている手順に従ってインストールしGNUstepました。

インストールはすべてうまくいきました。しかし、小さなコードを書き、コマンドを使用してコンパイルした後:

gcc gnustep-config --objc-flags` -L/usr/GNUstep/System/Library/Libraries -lgnustep-base hello.m -o hello

それは私に次のエラーを与えました:

/usr/bin/ld: /usr/GNUstep/System/Library/Libraries/libgnustep-base.so: undefined reference to symbol 'objc_msg_lookup' /usr/bin/ld: note: 'objc_msg_lookup' is defined in DSO /usr/lib/libobjc.so.2 so try adding it to the linker command line /usr/lib/libobjc.so.2: could not read symbols: Invalid operation collect2: ld returned 1 exit status

私はObjective-Cを初めて使用します。リンカコマンドがどこにあるのかわかりません。を変数に追加してみ/usr/libました。env.しかし、うまくいきませんでした。私はまた彼らのフォーラムで解決策を見つけようとしました(彼らが持っていれば!!)。しかし、彼らには何もありません。

誰かがこれを手伝ってくれませんか?

前もって感謝します!!

4

3 に答える 3

9

アプリケーションにリンクしていないコードを参照していると不平を言っています。何が欠けているのか、どこにあるのかを教えてくれるので助かります。-lobjcフラグに追加してみてください。

于 2012-08-01T19:46:53.777 に答える
5

私の場合、コマンドライン引数に -lobjc フラグを追加するだけで完全に機能しました。

gcc `gnustep-config --objc-flags` -Wl,--no-as-needed -lgnustep-base -lobjc firstObjcProg.m -o firstObjcProg
于 2014-12-20T17:29:40.877 に答える
0

これを試して:

gcc `gnustep-config --objc-flags` -o hello hello.m -L /GNUstep/System/Library/Libraries -lobjc -lgnustep-base
于 2012-08-01T19:47:22.470 に答える