私のプロジェクトには、ターミナルをクリアする関数があります。これは、cursesライブラリを使って実装されています。 -lcurses
フラグを付けてコンパイルすると、正常に動作しますが、yeildsC++でコンパイル時エラーを処理できますか?
/tmp/cc3T2MVI.o: In function `ClearScreen()':
clear_term.cpp:(.text+0xb): undefined reference to `cur_term'
clear_term.cpp:(.text+0x26): undefined reference to `setupterm'
clear_term.cpp:(.text+0x37): undefined reference to `tigetstr'
clear_term.cpp:(.text+0x3f): undefined reference to `putp'
collect2: ld returned 1 exit status
せずにコンパイルする。このことは、ライブラリを見つける傾けるので、明らかに予想されますが、この機能は補足的であるので、持っているよりも、空の関数としてClearScreen()
を定義することが好ましいですコンパイルが失敗します。私は#ifdef
ブロックに関数の定義を置くことを知っていますが、cursesによって定義されたフラグはわかりません。
これらのエラーをキャッチして、代わりにClearScreen()
を空の関数として定義できますか?
これは実際にはリンカエラーであり、コンパイラエラーではありません。 '.obj')ファイルを扱い、リンカは' .o'をすべて集めてライブラリ(動的または静的)または実行可能ファイルを作成します。 –