計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)

Ubuntu 12.04 LTS で Oracle Solaris Studio の C コンパイラを使うと /usr/include/features.h が呼ぶインクルードファイル bits/predefs.h が見つからないと言われる


原因
  Debian GNU/Linuxのマルチアーキテクチャ対応方針のためアーキテクチャに依存する
  インクルードファイルが /usr/include/アーキテクチャ(たとえば i386-linux-gnu) 
  以下に配置されるようになったから.

対策
  以下の対策のどれか一つを実行する

その1
  /usr/include/アーキテクチャ/* を /usr/include にシンボリックリンクしてしまう

  例
    ln -s /usr/include/i386-linux-gnu/* /usr/include

その2
  cc コンパイラを実行する度にオプション -I/usr/include/アーキテクチャ をつける

  例
    cc -I/usr/include/i386-linux-gnu -o test test.c

参考
  http://d.hatena.ne.jp/next49/20120126/p1


計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)
海洋大循環分野
daigo@ocg.aori.u-tokyo.ac.jp