問題タブ [catch2]
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++ - Catch2: クラスを名前空間に移動した後、オーバーロードされたストリーム演算子が INFO によって認識されない
私のコードでは、クラス ByteArray (単なるバイトのベクトル) のストリーム演算子をオーバーロードしました。
およびtest.cpp
このクラスを使用する using Catch2
名前空間を導入しない限り、これはうまくいきました
今、コンパイラは不平を言います
ただし、で使用するframe
とstd::cout
、これは正常に機能します
したがって、コンパイラは演算子を適切に解決できると思います。また、インクルード ファイルの順序を変更し、クリーンなリビルドを試みましたが、成功しませんでした。
何か案は?ありがとう
c++ - Catch2 リンカー エラー
Catch2
プロジェクトにサブモジュールとして追加しCatch2/include/catch.hpp
、次のコードを使用してヘッダーを含めました。
testmain.cpp:
しかし、リンカーエラーが発生します:
私は何を間違っていますか?Catch2 はヘッダーに自己完結型であるはずで.cpp
、シンボルを提供するためのファイルは必要ないと思いましたか?