問題タブ [cl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
97 参照

c++ - cppファイルはclでコンパイルされませんが、Visual Studio内で問題なくコンパイルされます

CL (VS CMD) を使用して次のコードをコンパイルできないという問題が発生しています。コンパイルする代わりに、エラー LN2019 が表示されます。VS 内で同じコードをコンパイルすると、エラーなしでコンパイルされます。

問題を 36 行目まで追跡しました。

この行をコメントアウトすると、ファイルは問題なくコンパイルされます。コンパイルに使用される cl コマンドも非常に標準的です。

私が見逃したclパラメータはありますか?

0 投票する
1 に答える
2393 参照

c++ - フルパスなしでcl.exeを使用するようにcmakeに強制するにはどうすればよいですか?

CMake を使用するオープン ソース プロジェクト (kst、v2.0.8) を構築しています。CMake v2.8.12.2 と MSVC 2008 をコンパイラとして使用しており、コマンド ラインでビルドするために NMake メイクファイルを生成しています。このセットアップで正常にビルドできます。これらのバージョンは義務付けられているため、現在、CMake または MSVC の新しいバージョンを使用することはできません。

HP の Fortify を使用して kst のソース コード分析を実行し、コマンド ラインから使用できるようにする必要があります。

  1. 独自の「cl.exe」を作成するタッチレス モードでは、実際の cl.exe へのパスの前にそのパスを設定するため、ビルド中に起動されます。

  2. Makefile のコンパイラを Fortify コマンド ラインに設定しsourceanalyzer -b build_id clますcl

いずれにせよ、cmakeがmakefileに生成するコンパイラを、cmakeが自動的に検出しないものにする必要があります。

この質問の同じ方法に従ってcmakeを実行するときにコンパイラを設定しようとしましたが、cmakeはまだメイクファイルにMSVC cl.exeへのフルパスを入れることを主張しています。

Fortify を呼び出すようにコンパイラを設定しようとしましたが、cmake がコンパイラをテストすると、コンパイラが見つからないと言って失敗します。(また、FORCED=ON 引数なしでこれを試しましたが、その場合、コンパイラが失敗したと表示されます。)

おそらくmakefile内のすべてのコンパイラ呼び出しを検索して置き換えることができますが、cmakeのたびにそれを行うことを覚えておく必要があり、複数のプロジェクト/ makefile / clへの呼び出しがあるため(CCを定義するのではなく)見るのは面倒です.メイクファイルの変数)。オフセットから直接、目的のコンパイラを cmake に使用させる方法があればいいのにと思います。

0 投票する
1 に答える
668 参照

c++ - /RTC1 を使用してコンパイルすると、警告 C4701 が抑制されることがある

このコード片 (コメント行に注意してください):

次の警告が表示されます (予想どおり)。

ただし、で割り当てのコメントを外すmain()と、警告は表示されなくなります。実行時エラー チェック/RTC1を有効にするコマンド ライン オプションを使用してコンパイルしています。

Visual C++ 2013 および 2015 の最新の 64 ビット バージョンのコンパイラを試しました。どちらも同じ動作をしています。

質問: これはコンパイラのバグですか、それとも説明がありますか? Microsoft のドキュメントには、C4701 が指定された場所で /RTC1 が実行時エラーを発生させる可能性があると記載されていますが、警告が抑制されることについては何も記載されていません。

編集:buffer[0] = 0;不可解な部分は、コメントにない場合にのみ警告が消えることです。

0 投票する
2 に答える
2618 参照

c - cl.exe を使用して obj ファイルを作成する方法

ヘッダー (.h) と ac (.c) ファイルがあります。cl.exe でそれらを使用してオブジェクト .obj ファイルを作成するにはどうすればよいですか?

0 投票する
3 に答える
291 参照

c - 関数呼び出しでの配列割り当ての違い (gcc と cl.exe)

GCC コンパイラを使用すると、関数の入力引数を使用して関数に配列サイズを動的に割り当てることができますが、Windows cl.exe コンパイラを使用してコンパイルすると同じことが失敗します。どうして。?

0 投票する
1 に答える
124 参照

c++ - Windows 64ビットマシンでc++アプリケーションをx64モードにコンパイルするには?

Windows SDK 7.1 プラットフォーム ツールをインストールし、という名前のターミナルを開きましたMicrosoft Windows 7 x64 Debug Build EnvironmentC++次に、コマンドを使用してアプリケーション (という名前main.cpp) をコンパイルしますcl.exe。コンパイル コマンドは次のとおりです。

そして、出力main.objして main.exeファイルします。しかし、実行しようとすると、アプリケーションをプログラムにコンパイルする必要があると思う前後にmain.exeクラッシュしました。誰かアドバイスをお願いできますか?begin computing distend computing dist.x64

は次のmain.cppとおりです。