VC PlusPlus:Link Error LINK2019 未解決のシンボル…で参照されました。 対処方法のソースを表示
新しいページはコチラ
移動:
案内
,
検索
== '''概要''' == Visual Studioを使うプログラマなら、一度は目にするエラーです。他人が作ったプロジェクトとか複雑なプロジェクトになれば、その遭遇率は高くなります。 これは、基本的にあなたの落ち度ではない事が多いのです。落胆しないで! 対処方法はいくつかのパターンに分かれています。解決が困難なモノもあります。他人のやることなのでね。簡単な対処方法が提供されていないとかあるよ。それでも乗り越えて行く力(チカラ)はあった方がいい。いかなる場合でも冷静に全ての整合性をとるということは、有能なプログラマである証拠だ。 簡単ではないいくつかのパターンについて、ココで一緒に考えていきましょう。 === ''' 対処方法 ''' === '''1.安全ではない古い関数が使われるパターン''' scanf, printf, strlen, strcmpといったC言語の基本とも言える関数を使ったときに発生します。昨今ではオーバーフローしないような、より安全な関数を使うのが定説になっていますが、勉強のため、ためしにgccとかで主に開発しているプログラマからプログラムをもらってきたときとかに発生します。 メンドクサイ対応方法としては、すべての関数をscanf_sのような最新のMSVC(MicrosoftVisualCpp)の標準libで提供されている関数を使うのがいいのですが、scanf_sに変えて、受け取る文字列のサイズを調整するという作業をすべての基本関数に対して施術しなくてはなりません。それが割かし膨大なプロジェクトである場合、とてもじゃないけど、修正しきれないし、どんなに有能なプログラマでも何度も繰り返して同じことをやるだけにしても、どこかでミスタイプや、計算間違えでバグを起こす原因にもなります。 そんな時は旧型対応のライブラリを使いましょう。 *旧型のライブラリを使用して解決! :対処したいプロジェクトをアクティブにした状態で、メニューの[プロジェクト]-[プロパティ]を選択して表示されるダイアログで[構成プロパティ]-[リンカ]-[入力]の[追加の依存ファイル]に ::'''legacy_stdio_definitions.lib''' :を追加します。 続きはまた気が向いたら書くので記事は増えていく予定。
VC PlusPlus:Link Error LINK2019 未解決のシンボル…で参照されました。 対処方法
に戻る。
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
最近の更新
おまかせ表示
ヘルプ
ツールボックス
リンク元
関連ページの更新状況
特別ページ