問題タブ [msvc12]
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.
c++ - MSVC 2013 で Boost MPL サンプルをコンパイルする
さて、私はテストプログラムをうまく構築しました:
しかし、私がboost::mpl::map用のものを試したとき、それはbarfed:
これはコンパイラ出力です:
次のことをしても:
失敗します:
VS Community 2013 Update 4 をインストールしました。使い方が間違っているのでしょうか、それともインストールしたバージョンに問題があるのでしょうか? 1.57.0 のリリース ノートでは何も参照されておらず、バグ システムも参照されていません。
c++11 - msvc12 を使用した constexpr (C++11) が原因で (OSRM v4.5.0) の nmake が失敗する
nmake を使用した OSRM バックエンド v4.5.0 ビルドに問題があります (以下のエラー出力を参照)。「Coordinate.h」の「constexpr」は、msvc12 ではサポートされていません。 問題は、cmake/nmake に CTP コンパイラを強制的に使用させる方法です!?
お返事をありがとうございます
座標.h
エラー出力
D:\osrm450be\build>nmake
Microsoft (R) プログラム メンテナンス ユーティリティ バージョン 12.00.21005.1 Copyright (C) Microsoft Corporation. 全著作権所有。
ターゲット COORDINATE の依存関係のスキャン [ 2%] CXX オブジェクトの構築 CMakeFiles/COORDINATE.dir/data_structures/Coordinate.cpp.obj Coordinate.cpp D:\osrm450be\Include\osrm/Coordinate.h(37): エラー C2144: 構文エラー: 「float」の前に「;」を付ける必要があります D:\osrm450be\Include\osrm/Coordinate.h(37): エラー C4430: 型指定子がありません - int と見なされます。注: C++ は default-int をサポートしていません D:\osrm450be\data_structures\Coordinate.cpp(290): 警告 C4244: '=': 'double' から 'float' への変換、データ損失の可能性 NMAKE: 致命的なエラー U1077: 'C:\PROGRA~2\MICROS~2.0\VC\bin\cl.exe' : リターン コード '0x2' 停止します。NMAKE: 致命的なエラー U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\nmake.exe"': リターン コード '0x2' 停止します。NMAKE :
c++ - 範囲外のベクトル消去反復子
ゲーム エンジンのコードを C++ で Mac から Windows に移植すると、次のランタイム エラーが発生します:「Vector erase outside range」。マックで動く!
std::vector<DeferredCall>
これは、呼び出された に格納されている「遅延」タスクのリストを反復処理しdeferreds
ます。DeferredCall
がCondition()
満たされている場合はExecution()
、実行され、 から削除する必要がありvector
ます。ただし、代わりに、前述のエラーが発生します。
DeferredCall は次のようになりますが、それほど重要ではありません。
ヘルプ?!
編集:-代替方法
私もこれを試しましたが、再びMacで作業しています:
ただし、この場合、「ベクトル反復子に互換性がありません」と表示されます。
c - 「非推奨の POSIX 関数」 `read` で例外が発生する
MSVC (VS 2013) をデバッグ モードで使用して、クロスプラットフォーム C ライブラリ (Linux で正常に動作し、Windows で動作していた) をコンパイルしています。read
C 標準ライブラリから呼び出すと、例外が発生することがあります。
無効なパラメータを致命的と見なす関数に、無効なパラメータが渡されました。
パラメータ (ファイル記述子、バッファ、長さ) は問題ないと思います。ファイル記述子が有効でない場合でも、-1 が返されると思います。コード (これは私自身のものではなく、クロスプラットフォームであり、Linux で正常に動作します) は、戻り値が -1 であるかどうかを実際にチェックし、それに応じて動作します。
MSDN は非常に役に立たず、次のように述べています。
この POSIX 関数は非推奨です。代わりにISO C++ 準拠の _ readを使用してください。
しかし、試してみて に置き換えただけread
で_read
、完全に機能します。
read
との違いは何_read
ですか?read
文書化されていないので、私はそれを調べることはできません。同じように見えますが、例外も発生します。「非推奨の POSIX 関数」と「ISO C++ 準拠」* のものを混在させることはできますか? たとえば「open」と「_read」?うまくいきそうです
#define read _read
Linux と同じように動作することを期待できますか?
*) ドキュメントの言語にもかかわらず、プロジェクトは C++ ではなくプレーンな C であることに注意してください。MSVC は、実際には C または C++ ではなく、ある意味では C/C++ であるという点で奇妙です。また、例外が発生するという事実は、私が C++ を使用しているという意味ではなく、C の非標準 Windows 拡張である IIRC です。
c++ - 階層内にひし形継承を持つクラスを多重継承する場合の関数の継承があいまい
単語の説明(以下のコード): クラスのコレクションを提供するライブラリがあります。クラスの各グループには、( ClassA_Partial
、ClassA
)、( ClassB_Partial
、ClassB
) などの 2 つの具象型があります。これらはそれぞれ ( Interface_Partial
、Interface
) を実装します。さらに、Interface
is a Interface_Partial
および each Class?
is a Class?_Partial
- は、トップが仮想的に継承されるダイヤモンド継承パターンを作成します。
と の両方をInterface_Partial
継承すると関数があいまいになるのはなぜですか?ClassA
ClassB
共通のインターフェースを複数回継承する場合、通常の方法で曖昧さを解消できないのはなぜですか? 例えば
mingw - Windows で pkg-config をセットアップしますか?
MSVC を使用して pkg-config をコンパイルし、完成したバイナリ (*.exe) を%PATH%に配置しました。目的は、MSVC を使用して MinGW シェルを使用してオープン ソース ソースをコンパイル/インストールし、pkg-config に *.pc ファイルをインストールさせることです。コントロールパネル>環境変数を使用してすでに設定したPKG_CONFIG_PATH変数によって設定された場所。
ただし、「make install」を使用してコンパイル済みソースをインストールした後、*.pc ファイルはPKG_CONFIG_PATHにインストールされません??
私は何が欠けていますか?*.pc ファイルをPKG_CONFIG_PATHにインストールするにはどうすればよいですか?