Visual C++ Team Blogの Visual C++ for Linux DevelopmentエントリのDesktop Applicationsのサンプルをやってみる。
環境
- Windows 10 (64bit)
- Visual Studio 2015 Update 2 (Enterprise) 全部入りでインストール。
- Linux: Lubuntu 14.04.4 LTS (64bit)
くまさんISOからLubuntu-14.04.4-64bit-kuma0317.iso
を利用し、VMWareの仮想マシンとしてインストール - Visual C++ for linux Development : インストールは、こちらの記事から
準備: Linux
-
インストール後は、いつもの...
sudo apt-get update
sudo apt-get upgrade
sudo apt-get autoremove
sudo apt-get autoclean
2. Visual C++ for Linux developmentで必要なパッケージ<br>`sudo apt-get install -y openssh-server g++ gdb gdbserver`
3. OpenGL開発ライブラリ("> *Here are the apt packages we used: libgles1-mesa, libgles1-mesa-dev, freeglut3, freeglut3-dev.*")<br>`sudo apt-get install -y freeglut3-dev`
## VS2015: Getting Started
1. プロジェクト作成
1. ファイル > 新規作成 > プロジェクト<br>で、新しいプロジェクト ダイアログから
2. インストール済み>テンプレート>Visual C++>クロスプラットフォーム > Linux を選んで
3. Empty Project (Linux) を選んで、<br>
4. (名前、場所、とか、かえたり、かえなかったりして)
5. [OK]
2. main.cppをプロジェクトへ追加
1. ソリューションエクスプローラのProject1で、右クリック
2. 追加 > 新しい項目 <br>
3. C++ファイル(.cpp) を選んで、名前をmain.cppとして、追加<br>
3. OpenGLコード
1. [Julien Guertault’s OpenGL tutorial](http://lousodrome.net/opengl/)から、[Spinning cube](http://lousodrome.net/opengl/#spinningcube)のソースを持ってくる。<br>
=> Download the spinning cube example. から spinningcube.tar.gzをダウンロード
2. 解凍して取り出したmain.cファイルの内容を、main.cppへこぴぺして、CTRL+S
4. プロジェクト > Project1のプロパティ 設定
1. Remote settings : Target machine が接続先になってるか、確認<br>
2. リンクするライブラリ追加 : Linker > Input : Library Dependenciesへ、`m;GL;GLU;glut` をいれる。<br>
3. デバッグ > Pre-Launch Commandへ、`export DISPLAY=:0.0` をいれる。<br>
## 実行・ブレイクポイント
1. [F5]: ビルド・デバッグ実行
2. 立方体がぐるぐる回る
<br>
3. ブレークポイントを張ってみる (34行目にかーそるをもっていって [F9])<br>
4. 立方体がとまる
## おまけ
Ubuntu側の`/usr/include`をsambaで共有して、VCのインクルードパスに加えれば・・・
1. sambaインストール・簡単設定
2. インストール<br>`sudo apt-get install -y samba`
3. smb.conf編集
```shell-session
sudo mv /etc/samba/cmb.conf /etc/samba/smb.conf.org #念のためオリジナル保存
sudo cp /etc/samba/cmb.conf.org /etc/samba/smb.conf
sudo vi /etc/samba/smb.conf #編集
- viでは、'G'をおして最終行へジャンプ
- 以下をsmb.confの最後に追加
```txt:/etc/samba/smb.conf(ゲストでリードオンリーで設定)
...
共有名
[usr_include]
共有フォルダ指定
path = /usr/include
読み出しのみ
writable = no
ゲストユーザーOK
guest ok = yes
全てゲストとして扱う
guest only = yes
4. samba再起動 <br> `sudo service smbd restart`
5. Windowsから、共有フォルダを見てみる<br>
6. プロジェクト> プロパティをひらいて、VC++ Directoriesで、`Include Directories`にusr_includeを追加。<br>
7. <font color='red'>赤い波線</font>も消えて、定義が見れますね。<br>
## その他
リンクされてるっぽい
[(ぼくの技術日誌) VisualStudio2015とVisual C++ for Linux Developmentを使ってみる](http://engineernote.hatenablog.com/entry/2016/04/18/185414)