文字列「__FORCETOC__」を「{{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This pag…
 
113行目: 113行目:


== インクルードディレクトリの変更 ==
== インクルードディレクトリの変更 ==
<code>make</code>コマンドの実行時において、参照するライブラリとヘッダファイルを指定する場合、<code>LDFLAGS</code>オプションと<code>CFLAGS</code>オプションを付加する。<br>
<code>make</code>コマンドの実行時に、参照するライブラリとヘッダファイルを指定する場合、<code>LDFLAGS</code> オプション と <code>CPPFLAGS</code> オプションを付加する。<br>
<br>
<code>-I</code> はプリプロセッサ用のオプションであるため、本来 <code>CPPFLAGS</code> に指定するのが規約である。<br>
<code>CFLAGS</code> に指定しても動作するが推奨されない。<br>
<br>
<br>
以下の例では、ホームディレクトリのlibディレクトリとincludeディレクトリを指定している。<br>
以下の例では、ホームディレクトリのlibディレクトリとincludeディレクトリを指定している。<br>
make LDFLAGS="-L/home/<ユーザ名>/lib" CFLAGS="-I/home/<ユーザ名>/include"
<br>
または
  make LDFLAGS="-L/home/<ユーザ名>/lib" CPPFLAGS="-I/home/<ユーザ名>/include"
  make LDFLAGS="-L/home/<ユーザ名>/lib" CPPFLAGS="-I/home/<ユーザ名>/include"
<br>
<br>
インクルードディレクトリの設定を永続化する場合は、.profileファイルまたは.bashrcファイルに、以下の設定を追記する。<br>
インクルードディレクトリの設定を永続化する場合は、<u>~/.profile</u> ファイル等に以下を追記する。<br>
  export C_INCLUDE_PATH=<C言語のインクルードディレクトリ>
<br>
  export CPLUS_INCLUDE_PATH=<C++のインクルードディレクトリ>
これらは <code>-isystem</code> 相当として扱われ、Cヘッダは <code>C_INCLUDE_PATH</code>、C++ヘッダは <code>CPLUS_INCLUDE_PATH</code> で指定する。<br>
言語に依存せず <code>-I</code> 相当として指定したい場合は、<code>CPATH</code> を使用する。<br>
<br>
<syntaxhighlight lang="sh">
# ~/.profileファイル等
  export C_INCLUDE_PATH="<C言語のインクルードディレクトリ>"
  export CPLUS_INCLUDE_PATH="<C++のインクルードディレクトリ>"
</syntaxhighlight>
<br><br>
<br><br>