0

私の目標は、Microsoft C++ 2010 を静的にリンクしてインストールを回避することです。そのパッケージがすべての顧客のコンピューターにインストールされるかどうかわからないため、彼の IT 部門はソフトウェアのインストールを許可していません。

もう 1 つの代替手段は、管理者特権の使用を避けることです。(たとえば、私のプログラムと同じディレクトリにdllを抽出します)

http://social.msdn.microsoft.com/Forums/en-US/vclanguage/thread/ab187afb-3af0-44ba-a03c-dde9e5208a1a/可能な解決策を 1 つ見つけ、パラメーター /MT を試しました。

私は2つのエラーがあります:

Erreur 1 error LNK2019: symbole externe non rÚsolu __CrtDbgReportW rÚfÚrencÚ dans la fonction "void __cdecl std::_Debug_message(wchar_t const *,wchar_t const *,unsigned int)" (?_Debug_message@std@@YAXPB_W0I@Z) C:\Users\ philippe\Downloads\Portable Devices COM API Sample\C++\libcpmtd.lib(stdthrow.obj) WpdApiSample

Erreur 2 error LNK1120: 1 externes non rÚsolus C:\Users\philippe\Downloads\Portable Devices COM API Sample\C++\Debug\WpdApiSample.exe 1 1 WpdApiSample

私は順調ですか?そして、どうすればその問題を解決できますか?

4

2 に答える 2

2

_CrtDbgReportW「要件」セクションのドキュメントには次のように記載されています。

ライブラリ: C ランタイム ライブラリのデバッグ バージョンのみ。

これは、そのような関数がライブラリのリリース バージョンに存在しないことを意味します。したがって、コードのリリース バージョンではそれらを呼び出すべきではありません。

この表によると/MTd、静的デバッグ バージョンにリンクするために使用する必要があります。

于 2013-02-05T12:32:56.610 に答える
1

リリース構成の場合は/MT、デバッグの場合は/ MTd

于 2013-02-05T12:37:53.350 に答える