
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で質問しましょう!
似たような質問が見つかりました
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- その他(プログラミング・Web制作) VScodeでpythonプログラムの関数を実行したい 2 2022/07/13 19:24
- Outlook(アウトルック) outlookの送信エラーについて 1 2022/05/13 12:04
- Excel(エクセル) Excelの置換が上手くいかない Microsoft® Excel® 2019 MSO (バージョン 5 2022/08/17 22:26
- Word(ワード) office 2021へ自分用のクイックアクセスとマクロをコピーしたい 2 2023/03/11 21:15
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- Excel(エクセル) Excel 2019 32ビット・バージョンを➡64ビット・バージョンに 3 2022/09/11 12:49
- その他(開発・運用・管理) VisualStudioSetup.exeの設定について(Rustのインストールの準備として) 2 2023/04/17 12:54
- Windows 10 ネットワークプリンターにファイルを直接送る方法・コマンドないですか?(´・ω・`) 3 2023/03/13 23:15
- その他(IT・Webサービス) onedrive解除後 1 2023/07/12 18:37
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
” OS ビルド ” の意味が分か...
-
コンパイルに失敗しました、と...
-
C言語でmからnまでの合計を求め...
-
Makefile作成時の拡張子.oとは?
-
C言語でヘッダファイルにグロー...
-
「fatal error C1189」を回避す...
-
<math.h>があるのにsqrtが・...
-
Visual Studio .net ヘッダーフ...
-
ILSpyで、デコンパイルできない。
-
VB6で開発中…標準モジュール間...
-
VBAを何回も作り直して、容量が...
-
エクセルVBAではRound...
-
Visual C++ 2008で<stdio.h>の...
-
bccは分かりましたがgccが使え...
-
プリコンパイルエラーについて
-
スタティックライブラリファイ...
-
デコンパイル?について
-
ProCでコンパイルエラーが出ます
-
他のLinuxでも動くa.outの作り方
-
gdbデバッグのためのmakefile作成
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
” OS ビルド ” の意味が分か...
-
VBAを何回も作り直して、容量が...
-
エクセルVBAではRound...
-
C言語でヘッダファイルにグロー...
-
1 つ以上の複数回定義されてい...
-
「fatal error C1189」を回避す...
-
Makefile作成時の拡張子.oとは?
-
外部シンボル "_main"は未解決です
-
<math.h>があるのにsqrtが・...
-
ILSpyで、デコンパイルできない。
-
クリティカルエラー Expressio...
-
【VC++6.0(MFC)】警告「LINK : ...
-
マクロ コンパイルがグレーバック
-
セミコロンについて
-
複数のサブディレクトリを一緒...
-
C言語のコンパイルができません
-
PRO*C コンパイルエラー
-
ExcelVBAで『ByRef 引数の型が...
-
コンパイルエラー:ユーザ定義...
-
プリコンパイルエラーについて
おすすめ情報