Hello, I am trying to compile php 4.20 on Windows 95 using MSVC++ 6.0 because many of the extension libraries like mcrypt, imap and ldap are not available in the binary donwload.
I followed instructions in php manual to compile php.exe. Php compiled and linked fine when using D:\php-4.2.0\win32\php4ts.dsw and D:\php-4.2.0\win32\php4ts.dsp with active project set to php4ts-win32 Release_TS. *** But when using workspace php_modules.dsw I tried to complile and link many other modules like Clibpdf, iconv and xmlrpc etc. I received these errors: --------------------Configuration: cpdf - Win32 Release_TS-------------------- Linking... LIBC.lib(crt0dat.obj) : error LNK2005: _exit already defined in MSVCRT.lib(MSVCRT.dll) LIBC.lib(crt0init.obj) : error LNK2005: ___xc_z already defined in MSVCRT.lib(cinitexe.obj) LIBC.lib(crt0init.obj) : error LNK2005: ___xc_a already defined in MSVCRT.lib(cinitexe.obj) LIBC.lib(crt0init.obj) : error LNK2005: ___xi_z already defined in MSVCRT.lib(cinitexe.obj) LIBC.lib(crt0init.obj) : error LNK2005: ___xi_a already defined in MSVCRT.lib(cinitexe.obj) LIBC.lib(crt0dat.obj) : warning LNK4006: _exit already defined in MSVCRT.lib(MSVCRT.dll); second definition ignored LIBC.lib(crt0init.obj) : warning LNK4006: ___xc_z already defined in MSVCRT.lib(cinitexe.obj); second definition ignored LIBC.lib(crt0init.obj) : warning LNK4006: ___xc_a already defined in MSVCRT.lib(cinitexe.obj); second definition ignored LIBC.lib(crt0init.obj) : warning LNK4006: ___xi_z already defined in MSVCRT.lib(cinitexe.obj); second definition ignored LIBC.lib(crt0init.obj) : warning LNK4006: ___xi_a already defined in MSVCRT.lib(cinitexe.obj); second definition ignored Creating library Release_TS/php_cpdf.lib and object Release_TS/php_cpdf.exp LINK : warning LNK4098: defaultlib "MSVCRT" conflicts with use of other libs; use /NODEFAULTLIB:library LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library LIBC.lib(crt0.obj) : error LNK2001: unresolved external symbol _main ..\..\Release_TS/php_cpdf.dll : fatal error LNK1120: 1 unresolved externals Error executing link.exe. php_cpdf.dll - 7 error(s), 7 warning(s) Configuration: iconv - Win32 Release_TS-------------------- Linking... LIBC.lib(crt0init.obj) : error LNK2005: ___xc_z already defined in MSVCRT.lib(cinitexe.obj) LIBC.lib(crt0init.obj) : error LNK2005: ___xc_a already defined in MSVCRT.lib(cinitexe.obj) LIBC.lib(crt0init.obj) : error LNK2005: ___xi_z already defined in MSVCRT.lib(cinitexe.obj) LIBC.lib(crt0init.obj) : error LNK2005: ___xi_a already defined in MSVCRT.lib(cinitexe.obj) LIBC.lib(crt0init.obj) : warning LNK4006: ___xc_z already defined in MSVCRT.lib(cinitexe.obj); second definition ignored LIBC.lib(crt0init.obj) : warning LNK4006: ___xc_a already defined in MSVCRT.lib(cinitexe.obj); second definition ignored LIBC.lib(crt0init.obj) : warning LNK4006: ___xi_z already defined in MSVCRT.lib(cinitexe.obj); second definition ignored LIBC.lib(crt0init.obj) : warning LNK4006: ___xi_a already defined in MSVCRT.lib(cinitexe.obj); second definition ignored Creating library Release_TS/php_iconv.lib and object Release_TS/php_iconv.exp LINK : warning LNK4098: defaultlib "MSVCRT" conflicts with use of other libs; use /NODEFAULTLIB:library LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library ..\..\Release_TS/php_iconv.dll : fatal error LNK1169: one or more multiply defined symbols found Error executing link.exe. php_iconv.dll - 5 error(s), 6 warning(s) To create client.lib when I tried to compile from imap source I received error schannel.h not found but cclient library was created. I added it to lib directory. But when compiling imap extension I received this message: --------------------Configuration: imap - Win32 Release_TS-------------------- Linking... LINK : fatal error LNK1181: cannot open input file "Secur32.lib" Error executing link.exe. php_imap.dll - 1 error(s), 0 warning(s) Can anyone tell why schannel.h (related to ssl) is not present on windows 95 or NT even when I am using MSVC 6.0. *** How can I compile imap executable using win95 without using ssl. *** When I tried to compile D:\php-4.2.0\win32\php4dll.dsp using D:\php-4.2.0\win32\php4.dsw after setting project to php4dll-Win32 Release I build failed with these errors. -------------------Configuration: Zend - Win32 Release-------------------- ......... Compiling... xmltok.c Linking... Creating library ..\Release/php4nts.lib and object ..\Release/php4nts.exp LINK : warning LNK4049: locally defined symbol "_pcre_free" imported LINK : warning LNK4049: locally defined symbol "_pcre_malloc" imported fopen_wrappers.obj : error LNK2001: unresolved external symbol __imp__virtual_chdir_file main.obj : error LNK2001: unresolved external symbol __imp__virtual_chdir_file fopen_wrappers.obj : error LNK2001: unresolved external symbol __imp__virtual_file_ex SAPI.obj : error LNK2001: unresolved external symbol __imp__tsrm_win32_startup SAPI.obj : error LNK2001: unresolved external symbol __imp__tsrm_win32_shutdown basic_functions.obj : error LNK2001: unresolved external symbol _zif_crypt basic_functions.obj : error LNK2001: unresolved external symbol _zm_startup_crypt basic_functions.obj : error LNK2001: unresolved external symbol _zm_activate_crypt exec.obj : error LNK2001: unresolved external symbol __imp__popen file.obj : error LNK2001: unresolved external symbol __imp__popen mail.obj : error LNK2001: unresolved external symbol __imp__popen exec.obj : error LNK2001: unresolved external symbol __imp__pclose file.obj : error LNK2001: unresolved external symbol __imp__pclose mail.obj : error LNK2001: unresolved external symbol __imp__pclose php_mysql.obj : error LNK2001: unresolved external symbol _mysql_data_seek@8 ..\Release\php4nts.dll : fatal error LNK1120: 10 unresolved externals Error executing link.exe. php4nts.dll - 16 error(s), 7 warning(s) Does anyone know why these unresolved symbols. Nothing in manual is written about which project is used by php team to create windows binaries and what other projects like Release_TS do. *** It should be mentioned somewhere that compiling this project will produce php executable and other extensions. Sukhwinder