同じソースコードでエラー?
昨日コンパイルできたコードでなぜかエラー。VisualStudioはこういうことがあるからよくわからない。。。
- DebugでビルドするとMSVCR80D.dllが見つからない
- コンパイラが変らしい。グチ言う三 品川支部: Visual C++ 2005より。
Microsoftのフォーラムを検索したところ、以下のスレッドを見つけた。
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=15218&SiteID=1そこにあったレスによると、"Debug\xyz.exe.embed.manifest.res" ファイルを削除(xyzはプロジェクト名)してもう一回ビルドすればうまく動くようになるとのこと。
ソリューションのクリーンをするとまた同じことが。。。
というわけで、FAT32なPCではプロジェクトのプロパティで「FAT32 次善策の使用」を「はい」にするのが当面の対応策ということになるようだ。
プロパティーページ-構成のプロパティ-マニュフェストツール-全般-「FAT32 次善策の使用」を「はい」
- Releaseでビルドすると外部シンボル未解決エラー
- msvcr80-ruby18.libをReleaseで単に指定していないだけだった。
1>------ ビルド開始: プロジェクト: embeddedruby, 構成: Release Win32 ------ 1>リンクしています... 1>embeddedruby.obj : error LNK2001: 外部シンボル "_ruby_init" は未解決です。 1>embeddedruby.obj : error LNK2001: 外部シンボル "_ruby_init_loadpath" は未解決です。 1>embeddedruby.obj : error LNK2001: 外部シンボル "_rb_load" は未解決です。 1>embeddedruby.obj : error LNK2001: 外部シンボル "_rb_str_new2" は未解決です。 1>embeddedruby.obj : error LNK2001: 外部シンボル "_rb_eval_string" は未解決です。
というわけで、解決。