http://bugs.winehq.org/show_bug.cgi?id=11896
--- Comment #7 from Luis Busquets luis.busquets@ilidium.com 2008-07-07 13:29:25 --- Before going with tooo many posts. Let's wrap up. The problem is that msvcp71 need to map 93 msvcr71 functions. Probably Civ4 is not even using them but they are needed to load that dll. The following is the list of unimplemented stubs that msvcp71.dll needs to map.
1 @ stub _ungetwch 2 @ stub _strtoi64 3 @ stub _strtoui64 4 @ stub __uncaught_exception 5 @ stub ___lc_codepage_func 6 @ stub ___lc_handle_func 7 @ stub ___setlc_active_func 8 @ stub ___unguarded_readlc_active_add_func 9 @ stub ___lc_collate_cp_func 10 @ stub __crtGetStringTypeW 11 @ stub __crtLCMapStringW 12 @ stub __security_error_handler 13 @ stub ??0bad_cast@@QAE@PBD@Z 14 @ stub ___mb_cur_max_func
Probably Civilization4 does not any of them neither any msvcp71 function relying on them but since msvcp71.dll has them mapped, it needs to have somewhere to point to. Probably with just stubs is enough. I hope that helps someone to make a full patch to make msvcp71 work.