Atomのlinter-gccがチェックしてくれない!動かない!機能しない!

atom-linter-gcc

 

この記事のザックリした内容
Atomのlinter-gccが機能しなくなったのを解決する
Windows対象ですが、Macでも参考になると思います
解決に至るまでの思考過程が分かるというオマケ付き!

こんにちは。ナガオカ(@boot_kt)です。

AtomでC/C++を書く際、linter-gccを使っている方が多いと思います。
linter-gccは書き間違いや警告があればすぐに指摘してくれるのでなかなか重宝する存在です。

 

んで、、、

linter-gccが全くチェックをしてくれなくなっちまったーーー!!!

というお悩みを頂きました。

 

いつからそうなったのか細かいVerは分かりませんが、少なくとも「linter(Ver.2.1.2)+linter-gcc(Ver.0.7.1)」だと、これらのパッケージを入れただけでは動きません

 

この記事では、最新(2017/04/20時点)のVerでlinter-gccを機能させるための手順を書きました。

前半は、linter-gccを動かすための手順、
後半は、どうやって解決策を探したかです。

解決策だけを見るのではなく、解決策の探し方も良かったらぜひ参考にしてください。

対象OSについて
Windowsを対象にしていますが、Macでもほぼ同じです。
適宜読み替えてください。
分からなければコメントしてください。
必要であればMac編も書きますので。
用語について
「解凍」が分からない方 → 「圧縮ファイルを展開する」ことです

 

 

 

関連記事

※本文中で必要に応じて関連記事へのリンクを書いておりますが、ここにまとめておきます。

  1. WindowsにAtomでお手軽にC言語環境を作る方法
  2. [Atomで覚えるC言語入門 – 初歩の初歩 – ] No.00 C言語の環境を整える
  3. WindowsでのC言語の開発環境
  4. WindowsでのC言語の開発環境(Eclipse)
  5. [Win/Mac][超初心者向け]C言語の開発環境の初歩の初歩、シンプルな開発環境を作って使う

1.解決策編

linter-gccを使うためにはAtomやgccのインストールが必要です。
この記事を読む方は既にインストールされているはずですので、gcc(MinGW)のインストール手順は省略します。

分からない方は以下を参考にしてください。

↓MinGWの部分を参照
WindowsでのC言語の開発環境(Eclipse)

CMakeをダウンロード

  1. ↓以下のアドレスにアクセス
    cmake

  2. ZIP(cmake-3.8.0-win64-x64.zip)をダウンロード
    ダウンロードするファイルについては各自で判断してください。
    32bit版Windowsなら、cmake-3.8.0-win32-x86.zip
    64bit版Windowsなら、cmake-3.8.0-win64-x64.zip
    Macなら、cmake-3.8.0-Darwin-x86_64.dmg

    また、.zipなのか.msiなのか、.dmgなのか.tar.gzなのか、各自の好みで選んでください。
    私は64bit版Windows用のzipをダウンロードしました。

  3. ダウンロードしたZIP(cmake-3.8.0-win64-x64.zip)をCドライブの直下に解凍
    cmake-3.8.0-win64-x64

    cmake-3.8.0-win64-x64.zipを解凍したらcmake-3.8.0-win64-x64というフォルダができます。
    このcmake-3.8.0-win64-x64フォルダをCドライブ直下に置いてください。

    どこに置いてもいいですが、半角英語だけのパスにしてください。
    今回は全角文字(日本語等)が混ざっているパスだとちゃんと動かないことがあります。
    よく分からなければCドライブ直下でいいんじゃないかと思います。
    ※使い終われば捨ててもいいです。使い続けるならPATHを通しておくと良いでしょう。

    PATHが分からない方はこちらを参考にしてみてください。(あまり参考にならないかも・・・)
    [Win/Mac][超初心者向け]C言語の開発環境の初歩の初歩、シンプルな開発環境を作って使う
  4. cmake.exeがあることを確認しておきます
    cmake.exe

    C:\cmake-3.8.0-win64-x64\bin\の中にcmake.exeがあることを一応確認しておきます。
    後で使いますんで。

gtf2tabをダウンロード

  1. ↓以下のアドレスにアクセス
  2. ZIP(gtf2tab-master.zip)をダウンロード
    gtf2tab

    gtf2tab
  3. ダウンロードしたZIP(gtf2tab-master.zip)をCドライブの直下に解凍
    gtf2tab-master

    gtf2tab-master.zipを解凍したらgtf2tab-masterというフォルダができます。
    このgtf2tab-masterフォルダをCドライブ直下に置いてください。

    どこに置いてもいいですが、半角英語だけのパスにしてください。
    今回は全角文字(日本語等)が混ざっているパスだとちゃんと動かないことがあります。
    よく分からなければCドライブ直下でいいんじゃないかと思います。
    ※使い終われば捨ててもいいです。

cmakeコマンド実行

  1. gtf2tab-masterフォルダの直下にbuildフォルダを作成
    gtf2tab

  2. buildフォルダを開く
    エクスプローラーのアドレスバーにcmdと入力してEnterキーを押す
    gtf2tab

    そしたら、DOSプロンプトが起動します
    gtf2tab

  3. DOSプロンプトに以下のコマンドを打つ
    cmake

    C:\cmake-3.8.0-win64-x64\bin\cmake.exe -D CMAKE_EXPORT_COMPILE_COMMANDS=1 -G "MinGW Makefiles" ..
    
    -DCMAKE_EXPORT_COMPILE_COMMANDSの間は半角空白を入れても入れなくてもどっちでもいいです。
    -G"MinGW Makefiles"の間は半角空白を入れても入れなくてもどっちでもいいです。
    最後、ピリオド2つ(..)は入れてください
  4. コマンド終了
    cmake

    C:\gtf2tab-master\build>C:\cmake-3.8.0-win64-x64\bin\cmake.exe -D CMAKE_EXPORT_COMPILE_COMMANDS=1 -G "MinGW Makefiles" ..
    -- The C compiler identification is GNU 4.8.1
    -- The CXX compiler identification is GNU 4.8.1
    -- Check for working C compiler: C:/MinGW/bin/gcc.exe
    -- Check for working C compiler: C:/MinGW/bin/gcc.exe -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: C:/MinGW/bin/g++.exe
    -- Check for working CXX compiler: C:/MinGW/bin/g++.exe -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/gtf2tab-master/build
    
    Windowsの場合、-G "MinGW Makefiles"は必要だと思います。
    Macなら要らないかも知れません。
  5. buildフォルダの中にcompile_commands.jsonができている
    compile_commands.json

    中身は単なるテキストファイルなので、興味があるならテキストエディタで開いて見ればいいですよ。

AtomでC言語のソースコードを書きます

これでlinter-gccは機能するはずです。(CtrlSとかで保存した時に機能するはず)
拡張子は.cでも.cppでもどちらでもいいです。

フォルダ名は日本語や全角文字の入っていないパスにしてくださいね。
パスの中に日本語や全角文字が入っていると、linter-gccは機能しないと思います。

 
広告




 

2.解決策の探し方編

せっかくなので解決策の探し方を書いておきます。
私もそんなに知識は無いですが、ググればなんとかなるものです。
英語もサッパリ分かりませんが、読めばなんとかなるものです。
Google翻訳でページ丸ごと翻訳してもいいし。

以下は、私の思考過程を書いています。
参考になれば幸いです。

 

やっぱり最初に見るのは公式サイトっしょ

まずはlinter-gccの公式サイトを見てみるか・・・・
linter-gcc

linter-gcc

上から見ていくと・・・

Important info for Mac OSX users! か・・・・
Xcodeを使っている場合?
-fmax-errors オプションがどーたらこーたら、
まぁ・・・、僕のはWindowsなので無視だー(笑)

次は・・・
Linter in action!
GIFで動いているところを見せてくれてるだけじゃん
でも、linter-gccの作者の手元のAtomではlinter-gccはちゃんと機能している

ってことは、自分のAtomでも動くはず。

※英語OSや日本語OSの違いだとかAtomに入れているパッケージの違いだとかあるけど、まぁ今は気にしないでおこう

次は・・・
Using CMake compile settings

コマンド書いてるやん

git clone https://github.com/hebaishi/gtf2tab
cd gtf2tab
mkdir build
cd build
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ..

参考:https://atom.io/packages/linter-gcc

DOSプロンプトでこれ打てばいいんでしょ?

でもcmakeなんてコマンド知らんで
まぁ、どっかからダウンロードすればいいんでしょ
あとでcmakeをググればええわ

 

読み進めると/build/compile_commands.jsonがどーたらこーたらって書いてる

compile_commands.json file which linter-gcc can get the compile settings from.

参考:https://atom.io/packages/linter-gcc

linter-gcccompile_commands.json から compile settingscan get する」

みたいな事書いてる

 

ってことは・・・・

cmakeコマンド打てばcompile_commands.jsonができるんやね

やっぱり後でcmakeをググろう

次は・・・
File/Project-Specific settings

Looks for」って書いてるので、linter-gccがsample.cpp.gcc-flags.jsonとか.gcc-flags.jsonを探すんやろな
3番見ると、「3. If no .gcc-flags.json is found,・・・」って書いてるので、無くてもいいんじゃね?(笑)

後で試してみる

 

.gcc-flags.jsonには、↓コレを書けばいいんだね。

{
“execPath”: “/usr/bin/g++”,
“gccDefaultCFlags”: “-Wall”,
“gccDefaultCppFlags”: “-Wall -std=c++11”,
“gccErrorLimit”: 15,
“gccIncludePaths”: “.,./include,./path”,
“gccSuppressWarnings”: true
}

参考:https://atom.io/packages/linter-gcc

"/usr/bin/g++"の部分は"C:\MinGW\bin\gcc.exe""C:\MinGW\bin\g++.exe"に置き換えればいいはず

次は・・・
Usage notes:
-fsyntax-onlyとか.gchとか書いてるけど、これってヘッダファイルの時の話だったような気が・・・・

一応、「fsyntax-only gch」でググっとくか

そしたら、こんなページが出てきた

まぁ今のところはgchファイルできてもいいんで、気が向いたら設定するわ
今は放置でオッケー♪

Plugin installationReporting Issues はもういいや

次はcmakeをググれーーーー!

cmake
cmakeとは
cmake 使い方
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS
cmake DCMAKE_EXPORT_COMPILE_COMMANDS
cmake CMAKE_EXPORT_COMPILE_COMMANDS

みたいなキーワードで検索してみるか・・・

(幾つかの記事を読んでみる)

イマイチよう分からん・・・・(ーーメ
多分makefileみたいなのを作ってくれるファイルかな?

cmake.exeCMakeLists.txtを必要とするだと?

gtf2tab-masterフォルダの中見たら・・・

CMakeLists.txtあるやん!!!

CMakeLists.txtの中読んでみたけど、分かるような分からんような・・・

いや、分かりまへん!!!

まぁいいや・・・・

 

で、CMAKE_EXPORT_COMPILE_COMMANDSオプションは何やねん?

CMAKE_EXPORT_COMPILE_COMMANDSを調べてみる)

コンパイルに必要な設定をjsonファイルに出力してくれるだと?

ふ~ん・・・・・

まぁ、とりあえずダウンロードして解凍しとくか

よう分からんけど、実行してみてから考えたらええわ

分からんけど実行してしまえ!!!

cmake-3.8.0-win64-x64gtf2tab-masterをCドライブの直下に解凍

cmakeにPATH通すの面倒なのでフルパスで書いたらええわ

C:\gtf2tab-master\build > C:\cmake-3.8.0-win64-x64\bin\cmake.exe -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ..

-- Building for: Visual Studio 14 2015
-- The C compiler identification is MSVC 19.0.23506.0
-- The CXX compiler identification is MSVC 19.0.23506.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio
14.0/VC/bin/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio
14.0/VC/bin/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studi
o 14.0/VC/bin/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studi
o 14.0/VC/bin/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning (dev) at CMakeLists.txt:14 (elseif):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "MSVC" will no longer be dereferenced when the policy
  is set to NEW.  Since the policy is not set the OLD behavior will be used.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_EXPORT_COMPILE_COMMANDS


-- Build files have been written to: C:/gtf2tab-master/build

実行結果はエラーは無いけど・・・

Visual Studio 14 2015とか書いてるやん????
gccとかmingwって出なくてええんやろか???

(C:\gtf2tab-master\buildの中にできたファイルを見てみる)

compile_commands.jsonができてへんや無いかーーーいっ!!!

やっぱりかーーーいっ!!!

まぁ、Visual Studio 2015をインストールしてるしなぁ・・・

僕のマシンの設定では、(たまたまやけど)Pathの順番はgccの方が後なので、cmakeはVisual Studio 2015を参照したんかな?
じゃ、Pathの順番を変えたらええんかな?

いや、そんなん面倒や
Pathの設定なんてそうそう変更するもんちゃうやん

gccかVisual Studio 2015かを選択するオプションがあるんじゃね???

まずはcmakeのヘルプを見てみよう

C:\cmake-3.8.0-win64-x64\bin > cmake /?

出てきたのがこれ
 ↓

C:\cmake-3.8.0-win64-x64\bin>cmake /?
Usage

  cmake [options] 
  cmake [options] 

Specify a source directory to (re-)generate a build system for it in the
current working directory.  Specify an existing build directory to
re-generate its build system.

Options
  -C            = Pre-load a script to populate the cache.
  -D [:]=    = Create a cmake cache entry.
  -U            = Remove matching entries from CMake cache.
  -G           = Specify a build system generator.
  -T             = Specify toolset name if supported by
                                 generator.
  -A            = Specify platform name if supported by
                                 generator.
  -Wdev                        = Enable developer warnings.
  -Wno-dev                     = Suppress developer warnings.
  -Werror=dev                  = Make developer warnings errors.
  -Wno-error=dev               = Make developer warnings not errors.
  -Wdeprecated                 = Enable deprecation warnings.
  -Wno-deprecated              = Suppress deprecation warnings.
  -Werror=deprecated           = Make deprecated macro and function warnings
                                 errors.
  -Wno-error=deprecated        = Make deprecated macro and function warnings
                                 not errors.
  -E                           = CMake command mode.
  -L[A][H]                     = List non-advanced cached variables.
  --build                 = Build a CMake-generated project binary tree.
  -N                           = View mode only.
  -P                     = Process script mode.
  --find-package               = Run in pkg-config like mode.
  --graphviz=[file]            = Generate graphviz of dependencies, see
                                 CMakeGraphVizOptions.cmake for more.
  --system-information [file]  = Dump information about this system.
  --debug-trycompile           = Do not delete the try_compile build tree.
                                 Only useful on one try_compile at a time.
  --debug-output               = Put cmake in a debug mode.
  --trace                      = Put cmake in trace mode.
  --trace-expand               = Put cmake in trace mode with variable
                                 expansion.
  --trace-source=        = Trace only this CMake file/module.  Multiple
                                 options allowed.
  --warn-uninitialized         = Warn about uninitialized values.
  --warn-unused-vars           = Warn about unused variables.
  --no-warn-unused-cli         = Don't warn about command line options.
  --check-system-vars          = Find problems with variable usage in system
                                 files.
  --help,-help,-usage,-h,-H,/? = Print usage information and exit.
  --version,-version,/V []  = Print version number and exit.
  --help-full []            = Print all help manuals and exit.
  --help-manual  []    = Print one help manual and exit.
  --help-manual-list []     = List help manuals available and exit.
  --help-command  []   = Print help for one command and exit.
  --help-command-list []    = List commands with help available and exit.
  --help-commands []        = Print cmake-commands manual and exit.
  --help-module  []    = Print help for one module and exit.
  --help-module-list []     = List modules with help available and exit.
  --help-modules []         = Print cmake-modules manual and exit.
  --help-policy  []    = Print help for one policy and exit.
  --help-policy-list []     = List policies with help available and exit.
  --help-policies []        = Print cmake-policies manual and exit.
  --help-property  [] = Print help for one property and exit.
  --help-property-list []   = List properties with help available and
                                 exit.
  --help-properties []      = Print cmake-properties manual and exit.
  --help-variable var []    = Print help for one variable and exit.
  --help-variable-list []   = List variables with help available and exit.
  --help-variables []       = Print cmake-variables manual and exit.

Generators

The following generators are available on this platform:
  Visual Studio 15 2017 [arch] = Generates Visual Studio 2017 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files.
                                 Optional [arch] can be "Win64" or "IA64".
  Visual Studio 9 2008 [arch]  = Generates Visual Studio 2008 project files.
                                 Optional [arch] can be "Win64" or "IA64".
  Visual Studio 8 2005 [arch]  = Generates Visual Studio 2005 project files.
                                 Optional [arch] can be "Win64".
  Visual Studio 7 .NET 2003    = Deprecated.  Generates Visual Studio .NET
                                 2003 project files.
  Borland Makefiles            = Generates Borland makefiles.
  NMake Makefiles              = Generates NMake makefiles.
  NMake Makefiles JOM          = Generates JOM makefiles.
  Green Hills MULTI            = Generates Green Hills MULTI files
                                 (experimental, work-in-progress).
  MSYS Makefiles               = Generates MSYS makefiles.
  MinGW Makefiles              = Generates a make file for use with
                                 mingw32-make.
  Unix Makefiles               = Generates standard UNIX makefiles.
  Ninja                        = Generates build.ninja files.
  Watcom WMake                 = Generates Watcom WMake makefiles.
  CodeBlocks - MinGW Makefiles = Generates CodeBlocks project files.
  CodeBlocks - NMake Makefiles = Generates CodeBlocks project files.
  CodeBlocks - NMake Makefiles JOM
                               = Generates CodeBlocks project files.
  CodeBlocks - Ninja           = Generates CodeBlocks project files.
  CodeBlocks - Unix Makefiles  = Generates CodeBlocks project files.
  CodeLite - MinGW Makefiles   = Generates CodeLite project files.
  CodeLite - NMake Makefiles   = Generates CodeLite project files.
  CodeLite - Ninja             = Generates CodeLite project files.
  CodeLite - Unix Makefiles    = Generates CodeLite project files.
  Sublime Text 2 - MinGW Makefiles
                               = Generates Sublime Text 2 project files.
  Sublime Text 2 - NMake Makefiles
                               = Generates Sublime Text 2 project files.
  Sublime Text 2 - Ninja       = Generates Sublime Text 2 project files.
  Sublime Text 2 - Unix Makefiles
                               = Generates Sublime Text 2 project files.
  Kate - MinGW Makefiles       = Generates Kate project files.
  Kate - NMake Makefiles       = Generates Kate project files.
  Kate - Ninja                 = Generates Kate project files.
  Kate - Unix Makefiles        = Generates Kate project files.
  Eclipse CDT4 - NMake Makefiles
                               = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - MinGW Makefiles
                               = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Ninja         = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.
Generatorsのところに、Visual Studio 15 2017とかMinGW Makefilesとか書いてある

おっ!

切り替えられるオプションあるんちゃうん!?

Generatorsなので-G を使えばいんじゃね???

MinGW Makefilesは空白が入ってるのでダブルクォーテーションで囲って・・・

実行・・・ポチッとな・・・・

C:\gtf2tab-master\build>C:\cmake-3.8.0-win64-x64\bin\cmake.exe -D CMAKE_EXPORT_COMPILE_COMMANDS=1 -G "MinGW Makefiles" ..
-- The C compiler identification is GNU 4.8.1
-- The CXX compiler identification is GNU 4.8.1
-- Check for working C compiler: C:/MinGW/bin/gcc.exe
-- Check for working C compiler: C:/MinGW/bin/gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/MinGW/bin/g++.exe
-- Check for working CXX compiler: C:/MinGW/bin/g++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: C:/gtf2tab-master/build

キターーーーーーーッ!!

ビンゴーーーーッ!!!

今度はGNUとかC:/MinGW/bin/gcc.exeとか出てるし、Visual Studio 14 2015は出てないし

C:\gtf2tab-master\buildの中にcompile_commands.jsonファイルできてるーーーーー!

AtomでC言語を書いてみよう!!

保存すればちゃんとlinter-gccが機能してチェックしてくれるーーーー

ソースコードと同じ場所に.gcc-flags.jsonファイル置いてないけど、ちゃんと機能してるやん

.hファイル書いたら確かに.gchファイルできるわ
鬱陶しくなったら設定するわ

こんな感じでなんとか解決しました

結局のところ、公式サイトに書かれてあることを読んで実行しただけです。
分からない用語とかはその都度調べて(ある程度だけ)理解して、試しに実行してみたまでです。

間違っていてもやり直せばいいだけですしね。

※まぁ、上には書いてないだけで、超調べまくったり、パソコンの中を検索しまくったりはしてるんですけどね(笑)

 
広告




 

解決できていないこと

結局、やったのって、cmakeコマンドを動かしただけなんですよねぇ~
Cドライブ直下に置いてたgtf2tab-masterフォルダもcmake-3.8.0-win64-x64フォルダも削除したんですよ

でも!!!、linter-gccは機能してるんですよね。

なぜ?

なぜ??

なぜ????

※削除後にマシンの再起動もやったけど機能してます
※全く別のマシンに同じ事やってもlinter-gccは機能してます

cmakeコマンドで、なんらかのファイル(jsonファイル?exeファイル?)をどこかに置いてるんだと思うんですけど、さっぱり分かりません。

マシンの中を探しまくったんですけど、それらしいファイルは無いし、なぜlinter-gccが機能しているのかよく分かりません。

ご存知の方、是非教えてくださーーーーい!!!!

さいごに、

こんな感じで、なんとか解決策を見つけました。
いやぁ、良かった良かった!!!

 

今回は解決策を探すまでの道のりも書いてみました。

今回のような内容はなかなかややこしいので、プログラミング経験が浅いとちょっと解決は難しいと思います。
なので、今回はいいんですが、

ごくごくたま~に、こんな事があります。

質問される
 ↓
僕も分からない
 ↓
ググる
 ↓
それらしいページを見つける
 ↓
その結果を質問者さんへ返す

僕は単にググってるだけってのがたまぁ~にですよ、たまぁ~にあります。

 

質問して頂けるのは本質的には嬉しいです。
マジで嬉しいです。

でもやっぱり質問者さんの事を考えると、質問者さんが独りで解決する力を持ってもらうのが良いなぁと思うんですよ。

プログラミングだけじゃないですけど、トラブルを自力で解決する事が一番の上達への近道だと僕は思っています。

これはマジのマジでそう思っていますし、実感として持っています。

僕がプログラミングやパソコン、コンピューターの事を覚えられたのは、トラブルに次ぐトラブルがあったからと言っていいでしょう。

 

まぁ、Twitterで「解決策だけ書いて、解決策の見つけ方を書かない記事なんてゴミ」って言われたこともあるので、今回は解決策の見つけ方(の思考過程)を書いてみました(笑)

 

ってことで質問お待ちしていまーーーーす!!!

プログラミングレッスンやってますんで、良かったら受講してね。

 

参考書籍

Atomの事を覚えるならこの本があればいいんじゃない

こんなん出てるのか!!??

8 件のコメント

  • 掲載ありがとうございます。
    以前に掲載していただいた内容も含め,実施をしてみました。
    しかし,残念ながらいまだlinter-gccの利用はできておりません。

    取り急ぎ環境と状況をお知らせしたいと思います。
    OS
    Windows7 Pro SP1 32bit
    MinGW
    mingw-get version 0.6.2-beta-20131004-1
    i686-6.3.0-release-posix-dwarf-rt_v5-rev2
    Cmake
    cmake-3.8.0-win32-x86 (zip,msi両方確認)
    gtf2tab-master
    記載されているものと同じ

    Cmakeの設定は無事に完了して,compile_commands.jsonも作成されていました。ちなみにもう一度Cmakeにて設定を既に設定済のようなコマンドも出ております。

    ですが,Atomの挙動は変わっておりません。

  • なおMinGWはCmakeをする際に”libgmp-10.dllがない”と
    怒られてしまい,完全消去->再インストールしても改善されないため
    新しいものを入れて確認しています。

    Cmakeは記載ではCMDで記述しておりますが,GUIでも同じことができるようでした。こちらの方がわかりやすいかもしれません。

    linter-gccは
    個別設定(.gcc-flags.json)
    グローバル設定
    の2種で実施(してみましたが変化はありませんでした。

    その他いろいろと試してみたのですが,事の本質が私もよくわかってないので解決には至っていません。
    ただ,PC依存可能性もぬぐえていないため,それら含めて継続トライしてみます。

    もし何かわかりましたら掲載していただけると助かります。

    • ◆1
      MinGWを普通にインストールしたらC:\MinGW\binにlibgmp-10.dllがあるはずですので、ご確認頂けますか?

      ◆2
      C:\MinGW\binにPATHは通っていますでしょうか?

    • > GUIでも同じことができるようでした。

      GUIでできるのは知っていたのですが(起動はさせてないのでどんな感じなのかは分かりませんが)、コマンド打つだけの方がややこしくないかなと思っていました。
      GUIの方も書いた方が良さそうですね。

      後日GUIも書き加えておきます。
      ご意見ありがとうございます!
      うれしいです。

  • このサイトに書かれていることを実践してみましたが、今もミスを教えてくれません。
    実際にプログラムを打ち込む画面の左下には、恐らくエラー等の件数を教えてくれているであろう数字は出てきますが、どこがどのように間違えているのかは教えてくれない状況です。下から引っ張るような形で出てくる画面にも、項目名以外は空欄です。
    記事を書かれた頃から日も経っていますし、様々なもののバージョンが変わっているのが原因でしょうか。解凍したファイルの中身が、記事に載っている画像とは違うので、同じ道をたどれているかがわかりません。
    今日、プログラムを始めてみようと思い立ったので、コマンドプロンプトの中身は全く理解できていない状況なので、自分では解決できないと思いコメントさせていただきました。説明が下手で理解しづらい文章になっているとは思いますが、どうか、返答よろしくお願いします。

    • 最近Atomを使っていないので現状が分からないのですが、今の所調べる時間がありません。

      また、コマンドがよく分からないということですが、その状態ではこの記事内容は難しい(と言うか無理)だと思います。

      まずは、以下の記事でコマンドプロンプトに慣れましょう。
      linterを使わなくても、コマンドプロンプトでエラー箇所はきっちりと教えてくれますから。

      プログラミングを覚える過程としても、以下の記事から読んで、コマンドプロンプトに慣れる事をおすすめします。
      最初からAtomとかlinterとか使おうとすると、挫折の素だと個人的には思います。

      [Win/Mac]プログラミングを始めるなら、黒い画面でシンプルにシンプルに!
      https://gabekore.org/black-terminal-prompt-simple-programming

      [Win/Mac][超初心者向け]C言語の開発環境の初歩の初歩、シンプルな開発環境を作って使う
      https://gabekore.org/c-lang-dev-environment

      もしC言語を書くだけでいいのであれば、オンラインにもありますので活用してみてください。
      例)https://paiza.io/ja

      • 返信ありがとうございます。
        仰る通り、コマンドプロンプトの勉強から始めてみます。
        ゆっくり時間をかけて、理解が追い付いてから触ってみることにします。
        ありがとうございました。

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    ABOUTこの記事をかいた人

    Windows/Mac/Linuxを使う現役システムエンジニア&プログラマ。オープン系・組み込み系・制御系・Webシステム系と幅広い案件に携わる。C言語やC#やJava等数多くのコンパイラ言語を経験したが、少し飽きてきたので、最近はRubyやPython、WordPressなどのWeb系を修得中。初心者向けのプログラミング教室も運営中。オンライン・対面・出張等でプログラミングをレッスンします。