gccに任意のインクルードパスを環境変数に追加する方法

はじめに

C言語でプログラムを書いてると、標準のヘッダファイルに追加で任意のヘッダファイルを使いたいときがあります。 大体はgcc -Iなどでヘッダファイルのあるディレクトリを指定すると思います。

正直毎回これをやるのは面倒なので、環境変数に任意のヘッダファイルのディレクトリを追加してみます。

環境

PC:MacBookPro2015
OS:macOS Sierra

やり方

.bash_profileに以下を追加

export C_INCLUDE_PATH="/usr/local/Cellar/glfw/3.2.1/include/GLFW" #任意のディレクトリ(1)
export C_INCLUDE_PATH="/usr/local/Cellar/glfw/3.2.1/include/GLFW(2):$C_INCLUDE_PATH" #任意のディレクトリ(2)

※ 今回はbrewでインストールしたGLFWの例です。
※ 二番目は例なので実際には存在しないディレクトリです。

解説

まず、export C_INCLUDE_PATH="/usr/local/Cellar/glfw/3.2.1/include/GLFW"環境変数C_INCLUDE_PATHを初期化して新たに新規のパスを追加しています。 そして二つ目以降はexport C_INCLUDE_PATH="/usr/local/Cellar/glfw/3.2.1/:$C_INCLUDE_PATH"という感じで追加をしていきます。

違いとしてはディレクトリパスの最後に:$C_INCLUDE_PATHを追加してることです。 これは環境変数C_INCLUDE_PATHを継承しながら新たにパスを追加するということになります。

この辺りの流れはまだ十分に理解していなので、間違っていたら申し訳ないです…

私の環境ではこれでオプションを設定しなくても問題なくコンパイルが通るようになったので、おそらく使えると思います。

CUDA8.0で<helper_xxxx.h>などがインクルードされてない場合の対処

はじめに

CUDAのサンプルなどを見ていると、<helper_xxxx.h>などのヘッダファイルを読み込んでいるプログラムがあります。 しかし、自身がCUDAをインストールして、いざ動かそうとすると以下のようになります。

fatal error: helper_timer.h: そのようなファイルやディレクトリはありません

このエラーを改善するために"nvcc.profile"にパスを通す必要があります。

環境

OS:Ubuntu 16.04 GPU:GTX970 CUDA:ver8.0

やり方

“nvcc.profile"は以下のディレクトリにあります。

/usr/local/cuda/bin

なので以下を実行します。(vimの場合)

$ sudo vim /usr/local/cuda/bin/nvcc.profile

以下の1行を追加します。

INCLUDES        +=  "-I/usr/local/cuda/samples/common/inc" $(_SPACE_)

これで無事にコンパイルできると思います。

macOS SierraでのParallels Desktop 11動作確認

f:id:Robo_AS:20170105222450p:plain

はじめに

※記事を上げ直しました。

Parallels DesktopとはMac上でWindowsLinuxなどを動作させる 仮想環境を構築するソフトウェアです。 私自身が大学やプライベートなどでMacを頻繁に使用するので、このソフトはとても重宝します。

Parallels Desktop 11を使用する理由

買ったのが去年の夏だからです。(当時、環境構築をやり直すのが面倒に感じていた)

なぜ動作確認の記事なのか?

Parallels Desktop 11はmacOS Sierra(以下Sierra)を完全にはサポートしておらず、完全対応しているのはParallels Desktop 12からです。

そのため、Parallels Desktop 11をSierraにインストールしたら不具合などは発生しないか確認をするため、ついでに記事を書きました。

それで実際に動いたの?

結論から言うと特に問題なく動作しています。(2017年1月5日現在)

マウスやキーボードなどの動作や、ディスプレイ表示の不具合などもなく、普通に使ってればこれから先も問題は発生しなさそうです(多分)

ただ、仮想環境全般に言えるのが、パソコン本体の性能をフルに生かすことができない点です。重いグラフィック処理をするソフト(PCゲームや3DCAD)などでは、少し重いと感じることがある。これはParallels Desktop 11に限らず、Parallels Desktop 12などの他の仮想環境ソフトでも同様です。

もし3Dをバリバリ使用するゲームをする場合には、仮想環境ではなく、通常の方法でOSをインストールすることをお勧めします。

感想

やはり、BootCampのようにOSを立ち上げ直す手間がないのは強い(確信

MacWindowsUbuntuのOSが同時に使用できるのは時間効率的にも優れてる。

3DCADのAutodesk Inventorなどを使用しながらMacの方でXcodeを使用してプログラミングをやったり、どうしてもUbuntuでないと動かないソフトなどがあれば、すぐに利用することも可能になる。実際すごくストレスフリーになります。

インストールをしたOS

Windows 10 Home 64bit版

Ubuntu 16.04 LTS

最後に

正直記事にするレベルのものではありませんでしたね…

とりあえず動作確認は取れたのでこのまま使っていきたいと思います。

皆さんも興味があったらParallels Desktopを買って見てね!

もし買うなら、公式のサイトで買うよりAmazonで買ったほうが安いです!

このブログについて

はじめに

初めまして、私はとある大学でロボット工学について学んでいる学生です。

このブログを開設したのには以下の理由があります。

 

  1. 以前ブログをやっていたが放置気味になってしまい改めて始めたいと思った。
  2. ブログやったら少しは文章力が身につくかな(?)
  3. ぶっちゃけ自分用のメモが誰かに活かせないかなと思った。
  4. 書いた記事がみんなに読まれれば少しはお金が(ry
  5. 息抜きに書きたい。

 

これらのしっかりとした理由があってブログを始めていきたいと思います。(4は気にしないでね)

 

ブログに書いていく内容

主にロボットに関係した事柄を書いて行きたいと思っていますが、他にも趣味の話をしていくと思います。

自分の趣味はこんな感じです。

 

  1. 音楽ゲーム(チュウニズム、デレステをメインにやってます。偶にDIVA)
  2. 音響システム(DAPDAC、アンプ、スピーカーなど)
  3. アニメや漫画

2に関してはあまり知り合いに共通の話題で話せる人が少ないので悲しいです。

立派な趣味ではないですが、これらに関係する記事を書いていきます。

 

最後に

正直ブログを書くのは久々なので見難いところもあると思いますが、どうかよろしくお願いします!!!