ERPバージョンアップ奮闘記 その2

これまでの経緯

ERPバージョンアップで、大きな課題が3点、契約書の修正・白紙撤回された案件の対応・C++のコンパイル。

契約書の文言修正については、5回程のメールのやり取り&電話で何とか調整がつき、プロジェクト開始から約2ヶ月後、納品の半月前にようやく上司を説得の上、締結が出来た。

白紙撤回された案件については、直近2年間の経緯を纏め、「これしか対応方法が無い」ことが何とか伝えられた(?)ので、撤回を撤回する事が出来た。

残る最大の問題はC++のコンパイル。

エラーが多発したものの、一定の傾向が見られたので、一つずつ潰すしかないなと思い、ネットで検索し、エラー解決の方法を探ると、プロジェクトのプロパティ設定に解決方法がありそうだ!

1.文字セット
  Visual Studio の仕様か分からないけど、
  文字セットは「Unicode 文字セットを使用する」が
  デフォルトの設定となっており、これを
  「マルチ バイト文字セットを使用する」に変更するだけで、
  かなりのエラーが解消された。

2.共通言語ランタイムサポート

  こちらもデフォルトの設定ではエラーが生じるようで、
  「共通言語ランタイム サポート (/clr)」に
  変更する事で解消した。

等々、余りソースに手を加えず、何とかコンパイルが出来た。


さて、ベンダー側でバージョンアップ後の環境を構築して貰ったので、2時間程かけてこちら側の環境を設定して稼働確認をしてみると・・エラーが発生。

どうやらコンパイルに成功したプログラムの箇所でエラーになっているようだ。

エラー内容は、「コンピュータに MSVCP140D.dll がないためプログラムを開始できません」と。そもそもプログラムが起動していない!?

一応、VBのランタイムは導入しており、ネットで調べると「MSVCP140.dll」の対処方法はあったが、「MSVCP140D.dll」がなかなか見つからない。

Yahooの知恵袋で発見すると、「デバッグ版なので、コンパイル時に「Release」に変えてコンパイルする」ように記載があった。

但し、このプログラムはRelease版なので、その場では解決できず、持ち帰る事となった。

持ち帰って色々と調べると、これもプロジェクトのプロパティ設定で、ランタイムライブラリの設定が「マルチスレッド デバッグ DLL (/MDd)」となっており、「マルチスレッド DLL (/MD)」に変更するとエラーが解消。

(エラーは続くよ何処までも)

管理人 について

趣味:映画鑑賞・音楽鑑賞・ゲーム・旅行 仕事:会社員(IT関連)
カテゴリー: システム開発 パーマリンク

コメントを残す