問題タブ [crt]

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 投票する
4 に答える
23914 参照

visual-c++ - Visual Studio (LNK2005) でこのリンク エラーを解決するにはどうすればよいですか?

次の形式のリンカー エラーが発生し続けます。

libcmtd.dll msvmrtd.dllいくつかの要素 (例: _mkdir )は既に定義されています...

そして、それらを解決する方法がわかりません。

完全なエラー メッセージは次のとおりです。

プライベート: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) はすでに LIBCMTD.lib(typinfo.obj) で定義されています

MSVCRTD.lib(ti_inst.obj): エラー LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) は LIBCMTD.lib で既に定義されています(typinfo.obj)

この問題の解決を手伝ってもらえますか?

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

vbscript - VBscript を使用して、マシンに接続されているモニターが LCD か CRT かを判断するにはどうすればよいですか?

現在のマシンに接続されているモニターが LCD か CRT かを判断する情報を VBscript に追加しようとしています。HKLM\System\CCS\Enum\DISPLAY から EDID 情報を取得できることはわかっていますが、それを使用してモニターの種類を特定することはできません。また、WMI クラスの Win32_DesktopMonitor、Win32_DisplayConfiguration、および Win32_VideoController から取得できる唯一の一貫した情報は、画面の解像度とリフレッシュ レートです。通常、LCD (ワイドスクリーンのものなど) でのみ使用される画面解像度がいくつかありますが、それは信頼できません。

モデル名の表を作成せずに、モニターが LCD か CRT かを判断するにはどうすればよいですか?

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

gcc - GCC で CRT に静的にリンクする方法は?

GCC を使用して Windows / macOS および Linux の CRT に静的にリンクするにはどうすればよいですか?

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

visual-c++ - _WinMainCRTStartup はどのような機能を実行しますか?

これは、少なくとも 2 つの密接に関連しているが異なる質問のシリーズの一部です。別々に尋ねることで、正しいことをしていると思います。

Visual C++ 2008 アプリを C ランタイム ライブラリなしで動作させようとしています。これは、MFC やその他の凝ったものを使用せず、単純な Windows API だけの Win32 GUI アプリです。

そこで、Project Properties -> Configuration -> C/C++ -> Advanced -> Omit Default Library Names を Yes (コンパイラ フラグ/Zl) に設定し、再ビルドしました。

次に、リンカーは未解決の外部について不平を言い_WinMainCRTStartupます。もちろん、リンカに別のエントリ ポイントを使用するように指示することもできますMyStartup。Web で収集したものから、いくつかの初期化を行います。おそらくそのサブセットを実行し_WinMainCRTStartupたいと考えています。MyStartup

だから私の質問は次のとおりです。どの機能が_WinMainCRTStartup実行され、CRT を使用しない場合、これらのどれを省略できますか?

あなたがこのことについて知識があるなら、私の他の質問も見てください。ありがとう!

余談: そもそもなぜこれをやりたいのですか?

  1. 私のアプリは、CRT 関数を明示的に使用していません。
  2. 私は無駄のないアプリが好きです。
  3. 新しいことを教えてくれます。
0 投票する
2 に答える
8259 参照

visual-c++ - CRT 関数を使用しない Visual C++ アプリをビルドしても、いくつかの参照が残る

これは、少なくとも 2 つの密接に関連しているが異なる質問のシリーズの一部です。別々に尋ねることで、正しいことをしていると思います。

Visual C++ 2008 アプリを C ランタイム ライブラリなしで動作させようとしています。これは、MFC やその他の凝ったものを使用せず、単純な Windows API だけの Win32 GUI アプリです。

そこで、Project Properties -> Configuration -> C/C++ -> Advanced -> Omit Default Library Names を Yes (コンパイラ フラグ/Zl) に設定し、再ビルドしました。私の他の質問の主題である適切なエントリポイント関数を書いたとしましょう。

2 つのリンカー エラーが発生します。それらはおそらく関連しています。リンカは、未解決の外部シンボル__fltused_memcpyinについて文句を言いfoobar.objます。言うまでもなく、私は自分のプログラムでどちらも明示的に使用していませんが、memcpyどこかで使用していますfoobar.cpp。(私は使用していたでしょうが、それはd と同一であるCopyMemoryことが判明しました...)#definememcpy

memcpy(のようなコンパイラ組み込み関数を使用することで問題を解決できると思って#pragma intrinsic(memcpy)いましたが、違いはありません。)

プリプロセッサの出力 (コンパイラのコマンド ラインに追加) を見ると、またはin/Pへの参照が見当たりません。__fltused_memcpyfoobar.i

ですから、私の質問は、これらのリンカー エラーはどこから来て、どのように解決すればよいのでしょうか?

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

mfc - MFC CRT オーダー リンカーの問題

私はまさにここで説明されている問題を抱えています (プロジェクトに MFC を追加しようとすると、リンカー エラーが発生します): http://support.microsoft.com/?scid=kb%3Ben-us%3B148652&x=8&y=9

ただし、解決策に従ってnafxcwd.libを入力すると、libcmtd.lib を「無視するライブラリ」と「追加の依存関係」に変更すると、

致命的なエラー LNK1104: ファイル "nafxcwd.lib;" を開けません

何が問題なのですか?ありがとう!

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

c++ - 異なるバージョンの C ランタイム ライブラリでビルドされたライブラリに対して静的にリンクしています。

次のシナリオを考えてみましょう: アプリケーションがサードパーティのライブラリ A にリンクしています。

A は MSVC 2008 を使用してビルドされ、C ランタイム ライブラリ v9.0 に静的にリンクされています (つまり、/MT でビルドされています)。

アプリケーションは MSVC 2005 を使用して構築され、A および (/MT を使用して) C ランタイム ライブラリ v8.0 に静的にリンクしています。

これには問題があります。たとえば、ランタイム ライブラリのバージョン間でヘッダーの型が変更された場合などです。

バージョン間でランタイム ライブラリ ヘッダーの互換性を維持するように注意していますか?それとも、静的にリンクされたすべてのライブラリが同じバージョンのランタイム ライブラリにリンクしていることを常に確認する必要がありますか?

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

qt - QtCreatorの実行中にサイドバイサイドエラーが発生しました

Vista Ultimate(SPなし)では、WindowsBinaryインストーラーを使用してNokiaからQtCreator1.3をインストールしました。実行しようとすると、「サイドバイサイド構成が正しくないため、アプリケーションを起動できませんでした。詳細については、アプリケーションイベントログを参照してください。」というサイドバイサイドエラーが発生しました。

イベントビューアのログには、「 "C:\ Qt \ qtcreator-1.3.0 \ bin \qtcreator.exe"のアクティベーションコンテキストの生成に失敗しました。依存アセンブリMicrosoft.VC90.CRT、processorArchitecture = "x86"、publicKeyToken = "1fc8b3b9a1e18e3b" 、type = "win32"、version="9.0.21022.8"が見つかりませんでした。詳細な診断にはsxstrace.exeを使用してください。 "

実行するとsxstraceでログファイルが返されました。http://cl1p.net/sxstrace/にコンテンツをアップロードしました

さまざまなバージョンのDLLとSxstraceシステム、およびVC90.crtと関係があると思いましたが、どうすればよいかわかりません。それが役に立ったら、私がPCにインストールした他の開発ツールはDev-C ++(およびMingW)だけです。過去にVisualStudioをインストールしましたが、それ以降はアンインストールされています。LimewireやDigsbyなど、VC90.crtマニフェストを備えた他のアプリは正常に実行されています。助けてください?

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

.net - 古い VC80.CRT バージョンを使用するように VC++ アプリに指示する

VC80.CRT バージョン 8.0.50727.762 に対してビルドおよびテストされた VC++ マネージド アプリがあります。埋め込まれたマニフェストが 762 を指していることを確認し、ビルド マシンには最新の VC80.CRT バージョンとして 762 が含まれています。

アプリは、762 とそれ以降のバージョンのランタイム (4053) の両方を備えたマシンでも実行されています。

ちなみに、どちらのマシンも XP Pro SP2 です。2 台目のマシン (いわば 4053) には .NET 3.0 が搭載されています。

アプリは 4053 マシンで動作します。SxS の下の VC80.CRT に付随するパブリッシャー ポリシーにより、アプリはアプリケーションに対して 762 ではなく 4053 をロードすることを理解していると思います。

入りたくないさまざまな理由から、762 バージョンを使用するよう強制しようとしてきましたが、これまでのところ成功していません。

いずれにせよ、文献を調べた結果、ロードするターゲット バージョンを決定するチェーン (アプリ構成 -> 発行者ポリシー -> マシン構成) を理解していると思います。

そこで、myapp.exe.config ファイル (以下を参照) を myapp.exe の近くに配置することにしました。チェーンの 2 番目のステップを回避するために、publisherPolicy を「no」に設定することに注意してください。

アプリはまだ 762 ではなく 4053 をロードします。おそらく、マシン構成ファイルの内容が原因ですが、そのファイルの内容が何を意味するのかを理解することさえできません。確かに VC80 への参照はありません。 .CRT またはそこにある msvc[x]80.dll ライブラリのいずれか。

アセンブリの古いバージョンを参照することは比較的簡単で、「dll 地獄」を克服するための鍵になると予想していました。アセンブリの発行者が下位互換性を (発行者のポリシーを介して) 保証したいと思っていたとしてもです。
誰でも光を当てることができますか?ありがとう

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

visual-studio - MSVCRTD.lib(cpu_disp.obj): 警告 LNK4210: .CRT セクションが存在します。未処理の静的イニシャライザまたはターミネータがある可能性があります

この質問は以前にも出てきましたが、良い答えが見つからなかったので、ここで試してみます。

純粋な C dll (Win32) を使用していますが、コンパイル時に次の警告が表示されます。

MSVCRTD.lib(cpu_disp.obj): 警告 LNK4210: .CRT セクションが存在します。未処理の静的イニシャライザまたはターミネータがある可能性があります

すべてがうまくいっているようですが、私はそれを理解していないので、この警告について心配しています. かなりの数の静的変数がありますが、「.CRT セクションが存在する」という意味がわかりません。

この警告をなくすには、どのようなアプローチを取る必要がありますか。libs msdn を追加しようとすると、大量のリンカー エラーが発生することが示唆されます。