問題タブ [visual-c++-runtime]
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.
visual-c++ - .NET クライアントから Microsoft.VC90.CRT.Manifest が必要なものを見つける方法
ソフトウェアのリリース バージョンでバイナリを参照する WPF アプリケーションがあります。ただし、ランタイム フォルダーに Microsoft.VC90.CRT.Manifest が見つからないため、ビルドされません。これは古い VC++ 2008 CRT のものであることは知っています。ただし、次の 2 つの質問があります。
[1] マニフェスト ファイルが必要なものを見つけるにはどうすればよいですか? 私が直接参照するのは .NET アセンブリだけです。
[2] 2008 CRT をインストールして、プロジェクトがマニフェスト ファイルを見つけなくてもビルドできるようにする方法はありますか (つまり、共通の場所 (WinSxS) にインストールおよび検出されますか?)。このマニフェスト ファイルを配布するべきではないと想定しています。
c++ - ヘッダー ファイルは 1 つのプログラムを壊しますが、別のプログラムでは動作します
次のヘッダーファイルがあります-
より大きなプロジェクトとは別に、これを単独でコンパイルすると、正常に動作します。ただし、プロジェクトと一緒にコンパイルすると、Invalid address specified to RtlValidateHeap( 000001CBA8F80000, 000001CBA8F99BC0 )
実行時にエラーが発生します。ヘッダー ファイルをまったく参照していなくても、このエラーが発生します。プロジェクトのヘッダー ファイルを純粋にコンパイルすると、たとえそれがまったく参照されていなくても、実行時エラーが発生します。このエラーは、main が呼び出される前に発生しているようです。メイン内にブレークポイントを設定してデバッグすることも、クラスのコンストラクター内にブレークポイントを設定してデバッグすることもできません。私もできませんstd::cout
プログラムの何でも。私の知る限り、それはメインにもなりません。考えられることはすべて試しました。私はmsvcでCMakeを使用しています。しかし驚くべきことに、まったく同じヘッダー ファイルを使用してデモ プログラムを実行したところ、問題なく動作しました。すべてが意図したとおりに機能しました。必要だと思われる場合は、ここに私の CMakeLists.txt ファイルがあります-
これが私のmain.cppファイルです。ここで参照します-
少しコードを省略していますが、コードはまったく影響を与えていないことをお約束します。あいまいなコンパイラのバグ以外に、これが発生する理由は考えられません。明らかに、このクラスは完成には程遠いですが、私は過去数日間、これをデバッグしようとしました。プログラムの別の場所にメモリを割り当てていて、それを適切に削除していない、または 2 回削除していると思われるかもしれません (実行時エラーは通常、これを意味します) std::vector
。別のファイルにマップする以外に意味します。
自分で試してみたい場合は、こちらのgithub リポジトリを参照してください。私が正直に言うと、あなたがそれをコンパイルすれば、すべてうまくいく可能性が非常に高いです。または、これが明らかに明らかなエラーである可能性も同様です。注: main.cpp の 30 行目以降は無関係であり、そのほとんどはおそらく意味をなさないでしょう。アプリケーションの他の部分には無数のエラーがあり、「mat.h」ファイルがないと動作しません。つまり、コンパイルはできますが、まだ機能しません。とにかく、あなたの助けを前もってありがとう、私は本当にそれを使うことができました!
反対票のおかげで-これが私が得たコールスタックです-