
C++の入門書を読んでプロコンの勉強をし始めた程度のプログラミング能力の者です.
最近vimを使い始め,
http://d.hatena.ne.jp/osyo-manga/20110530/130671 …
http://d.hatena.ne.jp/osyo-manga/20110302/129908 …
ここを見ながらこれまで使っていたVisualStudio2012のコンパイラをvimのプラグインSingleCompileに対応させました.
現バージョンではvs2012に非対応だったため,
設定ファイルに存在するvs2010のテンプレートをコピペ,適宜修正し対応させました.
:SCCompile としてみると,
:!cl -o test C:\ ... \test.c >C:\Users\ユーザー名\AppData\Local\Temp\VIeBC16.tmp 2>&1
と表示され,一応コンパイルには成功するのですが,
:cope で見てみると
|| Microsoft(R) C/C++ Optimizing Compiler Version 17.00.50727.1 for x86
|| Copyright (C) Microsoft Corporation. All rights reserved.
||
|| cl : コマンド ライン warning D9035 : オプション 'o' の使用は現在推奨されていません。今後のバージョンからは削除されます。
|| test.c
|| Microsoft (R) Incremental Linker Version 11.00.50727.1
|| Copyright (C) Microsoft Corporation. All rights reserved.
||
|| /out:test.exe
|| /out:test.exe
|| test.obj
と表示されます.
今までVisualStudio2012ではリンクやコンパイルの流れがどのようなものなのかわからずに使っていたので,
「cl : コマンド ライン warning D9035 : オプション 'o' の使用は現在推奨されていません。今後のバージョンからは削除されます。」
の意味が意味が理解できません.
解決策を教えてください.
No.1ベストアンサー
- 回答日時:
それ自体は使ったことないですが。
参考にしたのは、gcc,cc,clangといったコンパイラ用のものでは無いでしょうか?
これらのコンパイラでは-oオプションで出力ファイルを指定します
例)
http://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/Over …
clでは、-oオプションは無く、 /Feファイル名で出力ファイルを指定します
http://msdn.microsoft.com/ja-jp/library/kc584260 …
おそらく、/O という最適化オプションだと解釈されていると思われます。
/O1等と後ろにもう一文字加えたものが本来の使い方です。
過去のCLとの互換のために、無指定のを残しているけど、将来は使えなくするよ、という警告だと思われます。
注意点として、 -o は、どの出力形式にたいしても有効なのに対して、/Feは実行ファイルのみで、オブジェクトファイル等では別のオプションが必要です。
他にも、gcc等とclでは挙動がいろいろと違います。
例) test.cを出力無指定でコンパイルした場合
gcc等→ a.out または a.exe に出力
cl → test.exe に出力
VS2012が未対応、とのことですが、clコマンドの使い方自体はほとんど変っていないと思います。
参考にするなら、VS2010用の設定の方がよいのでは
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
includeと#include
-
【.NET2005 C#】 実行ファイル...
-
エラーメッセージの読み方につ...
-
” OS ビルド ” の意味が分か...
-
[c++] <pthread.h>がinclude で...
-
関数外からstatic変数を再度初...
-
Makefile作成時の拡張子.oとは?
-
Visual C++ 2008 Express Editi...
-
初歩的プログラミング(C言語)
-
C++コンパイルエラーの原因を教...
-
ILSpyで、デコンパイルできない。
-
C言語でMIDIを鳴らしたいです。
-
VS2010でLibHaruをビルドした...
-
エクセルのマクロで教えて下さい
-
python エラー
-
DLLファイルの逆コンパイラにつ...
-
適切な変換関数が存在しない???
-
MVSマシンで0C7でABENDしたので...
-
<unistd.h>をVisualStudioでつ...
-
エクセルのエラーメッセージ「4...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
” OS ビルド ” の意味が分か...
-
VBAを何回も作り直して、容量が...
-
エクセルVBAではRound...
-
C言語でヘッダファイルにグロー...
-
Makefile作成時の拡張子.oとは?
-
「fatal error C1189」を回避す...
-
ILSpyで、デコンパイルできない。
-
外部シンボル "_main"は未解決です
-
PRO*C コンパイルエラー
-
1 つ以上の複数回定義されてい...
-
C++コンパイル時に『 C1083: in...
-
クリティカルエラー Expressio...
-
マクロ コンパイルがグレーバック
-
VB6とInputManソフトの関係
-
セミコロンについて
-
VB6で開発中…標準モジュール間...
-
ExcelVBAで『ByRef 引数の型が...
-
ビルドとリビルドの違いを教え...
-
windowsでLinuxで作成したソー...
-
コンパイルエラー:ユーザ定義...
おすすめ情報