これまでの経緯
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)」に変更するとエラーが解消。
(エラーは続くよ何処までも)
ポケ5
-
最近の投稿
カテゴリー
メタ情報