現在、MFCアプリケーションの多言語対応のため、サテライトDLLにリソースを含めようとしています。
Releaseモードではシステムロケールによって対応する言語のサテライトDLLが読み込まれるのですが、Debugモードではなぜか読み込んでくれません。サテライトDLL自体はReleaseモードと同じオプションでビルド出来ているのですが、ビルドしたDLLを何処に置いても読み込んでくれません。
アプリケーションの実行ファイル名は、Release/Debug共にAppName.exeであり、対応する言語用にAppNameJPN.dllのようなファイル名でサテライトDLLを生成しています。
正直これだけの内容だと提案できる内容がほとんどない・・・
LoadLibrary してるのであれば GetLastError の値を調べて味噌とか
コピーする際にファイル壊してないかとか
ウイルス対策ソフトが邪魔してないかとか
その程度だと思われる。
サテライトDLLは、LoadLibraryを使わなくても、DLL事態のファイル名をAppExeNameJPN.dllのようにしておけば読み込まれる決まりになっているはずです。Releaseモードでは読み込まれることから、リソースファイルのロケール等が邪魔しているとも思えません。
ちょっとよくわからないのですが、もし「俺のとこではDebugでも出来てるよ」といった情報でもあれば、比較としてありがたいのでレスいただけると幸いです。
ツイート | ![]() |