段落ごとに。

-mはリンカオプションなんで最後に書くけど、コンパイルオプションは最初に書くべきでしょうね。
参考にしたというページの例でもそうなってますね。

変数の宣言を2回してませんか?

知り合いの環境で動くなら知り合いの環境で組むのがいいでしょうね。