Escape from the Memories Planet

思い出星職人をめざし、かつ、とどまらないブログ

Visual Studioのcl.exeでつぼった話+α

お初にお目にかかります。namniumと申します。

普段はteratailで回答したりqiitaで記事書いたりしていますが、はてブロには記事にならないレベルのことを記事にしていこうと思っています。。。って書くと矛盾していますね苦笑、備忘録群だと思っていただけると幸いです。

長くなってしまいましたが、本題の前置きに入ろうと思います。(本題ではないというw) 初回1Visual Studioをインストールして、C言語コンパイルするときにうまくいかなかった原因を探った話です。

前置き

いままでmacユーザーだったのですが、大学進学を機にWinマシンを買いまして、「WinといえばVisual Studioだろう」という安直な理由と、大学でEnterprise版を無償提供していたという理由より、IDEとしてVisual Studio Enterpriseを早速インストールしました。Enterpriseのバージョンは2017 15.7.1でした。

また、macではエディタとしてAtomを使っていたので、VSCodeも別にインストールしました。。VSCodeだけで十分な気もしましたが、UnityがやりたいんでVSがあったっていいでしょう2。役割も違いますからね。

事件発生

とりあえずまずはHelloWorldかなと思い、C言語コンパイルする段階で事件発生。google先生に聞いてたどり着いたこのページ曰く「開発者コマンド プロンプト for VS 20XX」みたいな"cl.exe"のパスが通ったVSのコマンドプロンプトを開いて~とあったのですが、、そもそも

開発者コマンド プロンプト なんてねーよ!!!!!

ってなったんですね。これもう詰みじゃない?。。。(^ ^;

原因探索

心当たりはまったくなく、、"VsDevCmd.bat"をダブルクリックしたりするもすぐに閉じるし、、あれやこれや試すもうまくいかず、、、調べるとC++で似たような症状にあっている人に遭遇。っていうかこれ答えだ!

そう、単にC++のツールがまだインストールされていなかっただけだったみたいです。

試しにVisual C++のプロジェクトを作成しようとすると、「Visual C++ Tools 2017 うんたらこんたら インストール」なる項目が。。。。

う~ん、、なぜインストールされてなかったんですかね、、最初にインストールする項目を選べるんですが、容量を減らしたくていくつかチェックを外したのが原因でしょうか...?結局はっきりしないまま、無事C++のツールをインストール。

解決

改めてスタートメニューで検索をかけると、、、あった!、ラピュタは本当にあったんだ!!

f:id:namnium1125:20180512214446p:plain

僕の場合はなんとかこれで解決できました。ε-(‘∀ ` ;)

結論 : 早とちりせず、インストールが必要なものは確実に入れましょう。

おまけ+α

実行結果

ということで、さっそくコンパイルしてみました。実行結果は以下に示す通りです。3

**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.7.1
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************

C:¥Program Files (x86)¥Microsoft Visual Studio¥2017¥Enterprise>cd C:¥Users¥namni¥Desktop

C:¥Users¥namni¥Desktop>cl hello.c
Microsoft(R) C/C++ Optimizing Compiler Version 19.14.26428.1 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

hello.c
Microsoft (R) Incremental Linker Version 14.14.26428.1
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:hello.exe
hello.obj

C:¥Users¥namni¥Desktop>hello
hello,world!
C:¥Users¥namni¥Desktop>

無事にhello,world!を表示できました。個人的なものかもしれませんが、僕はデスクトップで実行するのが好きです。 立ち上げ時のディレクトリでは書き込みでpermission errorになってしまう可能性があるので、管理のしやすさも考えると、ディレクトリは変更しておいたほうがいいと思います。 デスクトップ以外のおすすめはドキュメント(Documents)ですね。自分にとってわかりやすい場所ならばどこでもいいでしょう。

ここまで読んでいただきありがとうございます。またいつかお会いしましょう

ではでは~(^_^)ノシ


  1. 初回からなんかネガティブな内容ですみません苦笑、、まぁ誰かの役に立てばという思いです。

  2. UnityのエディターにはほかにMonoDevelopというのもあるそうで、Unityではこっちが使いやすいなんて話もありますが、とりあえずVSを使ってみて、使いにくかったらMonoDevelopに替えるでいいかなと今は考えています。

  3. \機種依存文字¥に置き換えています。そのためコピペして実行してもうまくいきません。ご注意ください。