apt-cygのインストール
apt-cygがあれば使いにくいSetup.exeともおさらば、素敵です。さて、参考先のまるまるコピーですが、こんな手順で進めていきます。
1.apt-cygをgitで取得
2.install
3.Cygwinリポジトリの登録
ではやってみます。
# 自分の作業用ディレクトリに移動
~ $ cd my_work/
# gitリポジトリのクローン
~/my_work $ git clone https://github.com/transcode-open/apt-cyg.git
Cloning into 'apt-cyg'...
(略)
# ディレクトリに移動
~/my_work $ cd apt-cyg
# apt-cygをPATH上にインストール
~/my_work/apt-cyg $ install apt-cyg /usr/local/bin
# Cygwinリポジトリの登録
~/my_work/apt-cyg $ apt-cyg -m ftp://ftp.jaist.ac.jp/pub/cygwin/ update
(略)
# 動作検証
~/my_work/apt-cyg $ apt-cyg searchall gcc
(以下略)
gccのインストール
apt-cygでインストール、簡単です。気をつけねばならないのはパッケージ名が「gcc」ではなく「gcc-core」であることです。
1.gcc-coreをインストール
2.動作検証
ではやってみます。
# apt-cygでgcc-core
~/my_work $ apt-cyg install gcc-core
Installing gcc-core
(略)
Package gcc-core installed
# Cのファイルを作成
~/my_work $ mkdir hoge; cd hoge
~/my_work/hoge $ cat << EOL > hello.c
> #include <stdio.h>
>
> int main()
> {
> printf("Hello Cygwin world!\n");
> return 0;
> }
> EOL
~/my_work/hoge $ gcc -o hello hello.c
~/my_work/hoge $ ./hello
Hello Cygwin world!
~/my_work/hoge $
C++ではgcc-g++が必要です。入って無いと「gcc: error: spawn: No such file or directory」というよくわからないエラーが出ます。
# apt-cygでgcc-g++をインストール
~/my_work/hoge $ apt-cyg install gcc-g++
Installing gcc-g++
(略)
Package gcc-g++ installed
# C++のファイルを作成
~/my_work/hoge $ cat << EOL > hellopp.cpp
> #include <iostream>
> using namespace std;
>
> int main() {
> cout << "Hello Cygwin C++ world!\n";
> return 0;
> }
> EOL
~/my_work/hoge $ g++ -o hellopp hellopp.cpp
~/my_work/hoge $ ./hellopp
Hello Cygwin C++ world!
~/my_work/hoge $
注意点1:いつの間にかC++の仕様が変わっていたようです。
1.#include <iostream.h>
→ #include <iostream>
2.using namespace std;
がmainの前に必要
注意点2:gccでC++のファイルをコンパイルすると当然ながらエラーになります。
最近はC++なんてあまり使ってないんでしょうね。僕はこちらのオンラインコースで必要なんで使う感じです。
Cloud Computing Consepts, Part 1
今後のやりたいこと
のんびりと以下手を付けていくつもり。
tmux、Vim設定
JDKポータブルインストール (次を参考とする→ Portable Java 8 JDK on Windows | Daniel Ferbers Technical Tavern)
scala/sbt設定
参考先
apt-cyg をインストールする(2016年版) - Qiita
c++ - Why can't g++ find iostream.h? - Stack Overflow
c++ - 'cout' was not declared in this scope - Stack Overflow