Team, MSFT does not ship ATL with the express edition. But some enterprising person has posted info on how to use the old ATL stuff in PSDK.
http://www.codeproject.com/wtl/WTLExpress.asp?df=100&forumid=255873&exp=0&fr=26&select=1348720 But, we will have to still get rid of CAtlArray usage as that is not available in the old files in PSDK. So, is the ATL dependency a conscious decision? Since it makes harmony build dependent on access to non-free build environment? If not, how easy is it to get rid of the dependency or get it working with the older files in PSDK? Thoughts? -- dims On 10/22/07, Davanum Srinivas <[EMAIL PROTECTED]> wrote: > Actually found a way to get past this point using > /FORCE:UNRESOLVED...also threw in a /NODEFAULTLIB:LIBC to get past a > few more errors. Here's where i am stumped now...Basically "Microsoft > Visual C++ 2005 Express Edition" does not seem to support atl. > > -build-native-windows: > [exec] cl -c -DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -nologo -GS > -FIsehmap.h -D_X86_=1 -DWIN32 -D_WIN32 -W3 -D_WIN95 -D_ > WIN32_WINDOWS=0x0400 /D_WIN32_DCOM -D_WIN32_IE=0x0500 -DWINVER=0x0400 > -Zi -Od -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_W > ARNINGS -WX -GF -Gs -MD -Zm400 -D_DLL -D_MT -D_WINSOCKAPI_ > /IC:\APACHE\harmony\working_classlib\deploy\include /IC:\APAC > HE\harmony\working_classlib\deploy\jdk\include /I. > -FoWinDataTransfer.obj WinDataTransfer.cpp > [exec] WinDataTransfer.cpp > [exec] WinDataTransfer.cpp(23) : fatal error C1083: Cannot open > include file: 'atlbase.h': No such file or directory > [exec] NMAKE : fatal error U1077: 'cl' : return code '0x2' > [exec] Stop. > > BUILD FAILED > C:\APACHE\harmony\working_classlib\make\build-native.xml:77: The > following error occurred while executing this line: > C:\APACHE\harmony\working_classlib\modules\awt\build.xml:226: The > following error occurred while executing this line: > C:\APACHE\harmony\working_classlib\make\properties.xml:474: exec returned: 2 > > > On 10/22/07, Davanum Srinivas <[EMAIL PROTECTED]> wrote: > > Looks like other people have similar issues: > > http://support.intel.com/support/performancetools/libraries/mkl/win/sb/CS-022853.htm > > > > And the answer seems to imply that one needs a version of lcms114.lib > > compiled with the latest tool chain :( > > > > -- dims > > > > On 10/22/07, Davanum Srinivas <[EMAIL PROTECTED]> wrote: > > > Oliver, > > > > > > Yep, tried that. Here's the current failure after that change and > > > current diff against latest svn. > > > > > > [exec] LINK : warning LNK4224: /COMMENT is no longer supported; > > > ignored > > > [exec] lcms114.lib(cmserr.obj) : error LNK2019: unresolved > > > external symbol __iob referenced in function _cmsSignalError > > > > > > [exec] ..\lcmm.dll : fatal error LNK1120: 1 unresolved externals > > > [exec] NMAKE : fatal error U1077: 'link' : return code '0x460' > > > [exec] Stop. > > > > > > thanks, > > > dims > > > > > > On 10/22/07, Oliver Deakin <[EMAIL PROTECTED]> wrote: > > > > Hi Dims, > > > > > > > > Looks like you're doing pretty well, that's quite far into the native > > > > build! Interestingly, when I build the natives with MSVC .NET 2003 I > > > > also get the warning: > > > > LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other > > > > libs; use /NODEFAULTLIB:library > > > > > > > > but it is not an error and the build continues, so I wonder if it has > > > > been promoted to an error for MSVC 2005. I looked at your link line and > > > > it is exactly the same as mine (which works) so Im guessing its a > > > > difference between linker versions. Having a google around it appears > > > > that libcmt.lib is the static version of the C runtime, whereas we want > > > > to link against the dynamic version msvcrt.lib. It's not entirely clear > > > > to me why it seems to be linking against both msvcrt.lib and libcmt.lib. > > > > > > > > If you specify /NODEFAULTLIB:"libcmt.lib" in rules.mak does this help? > > > > Adding it to the two "link" lines should do the job I think - i.e. the > > > > link line for DLLNAME and the link line for EXENAME. Adding this option > > > > to my .NET 2003 build doesn't seem to affect the build, and I can run > > > > the LUNI tests successfully so it doesn't appear to hurt. > > > > > > > > I wonder if we should have this flag always set so that we definitely > > > > don't link against the static C runtime library? > > > > > > > > Regards, > > > > Oliver > > > > > > > > Davanum Srinivas wrote: > > > > > Folks, > > > > > > > > > > Neex your help. Platform is Windows XP. Please see enclosed diff for > > > > > the changes i had to make to get this far. > > > > > > > > > > Products: > > > > > - Microsoft Platform SDK for Windows Server 2003 R2 > > > > > - Microsoft Visual C++ 2005 Express Edition > > > > > - Microsoft Macro Assembler 8.0 (MASM) Package (x86) / > > > > > > > > > > Current failure: > > > > > > > > > > [exec] link /debug /opt:icf /opt:ref /INCREMENTAL:NO /NOLOGO > > > > > -entry:[EMAIL PROTECTED] -dll /BASE:0x13300000 -machine:i386 > > > > > /comment:"LCMM Wrapper native code. (c) Copyright 2005 - 2006 The > > > > > Apache Software Foundation or its licensors, a > > > > > s applicable." -subsystem:windows -out:..\lcmm.dll -map:..\lcmm.map > > > > > ..\shared\cmmerror.obj ..\shared\cmmio.obj ..\shared\ > > > > > cmmxforms.obj ..\shared\NativeCMM.obj > > > > > ..\shared\NativeImageFormat.obj lcmm.res > > > > > C:\APACHE\harmony\working_classlib\deploy\li > > > > > b\hycommon.lib C:\APACHE\harmony\working_classlib\deploy\lib\hythr.lib > > > > > C:\APACHE\harmony\working_classlib\deploy\lib\hysig.li > > > > > b C:\APACHE\harmony\working_classlib\deploy\lib\hypool.lib > > > > > C:\APACHE\harmony\working_classlib\deploy\lib\vmi.lib C:\APACHE\h > > > > > armony\working_classlib\deploy\..\depends\libs\build\lcms\lcms114.lib > > > > > ws2_32.lib Iphlpapi.lib kernel32.lib ws2_32.lib advap > > > > > i32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib > > > > > C:\APACHE\harmony\working_classlib\deploy\lib\lcmm.exp > > > > > [exec] LINK : warning LNK4224: /COMMENT is no longer supported; > > > > > ignored > > > > > [exec] LIBCMT.lib(crtheap.obj) : error LNK2005: __malloc_crt > > > > > already defined in MSVCRT.lib(MSVCR80.dll) > > > > > [exec] LIBCMT.lib(crt0dat.obj) : error LNK2005: __amsg_exit > > > > > already defined in MSVCRT.lib(MSVCR80.dll) > > > > > [exec] LIBCMT.lib(crt0dat.obj) : error LNK2005: __initterm_e > > > > > already defined in MSVCRT.lib(MSVCR80.dll) > > > > > [exec] LIBCMT.lib(crt0dat.obj) : error LNK2005: _exit already > > > > > defined in MSVCRT.lib(MSVCR80.dll) > > > > > [exec] LIBCMT.lib(realloc.obj) : error LNK2005: _realloc already > > > > > defined in MSVCRT.lib(MSVCR80.dll) > > > > > [exec] LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_a already > > > > > defined in MSVCRT.lib(cinitexe.obj) > > > > > [exec] LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_z already > > > > > defined in MSVCRT.lib(cinitexe.obj) > > > > > [exec] LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_a already > > > > > defined in MSVCRT.lib(cinitexe.obj) > > > > > [exec] LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_z already > > > > > defined in MSVCRT.lib(cinitexe.obj) > > > > > [exec] LIBCMT.lib(winxfltr.obj) : error LNK2005: ___CppXcptFilter > > > > > already defined in MSVCRT.lib(MSVCR80.dll) > > > > > [exec] LIBCMT.lib(tidtable.obj) : error LNK2005: __encode_pointer > > > > > already defined in MSVCRT.lib(MSVCR80.dll) > > > > > [exec] LIBCMT.lib(tidtable.obj) : error LNK2005: __encoded_null > > > > > already defined in MSVCRT.lib(MSVCR80.dll) > > > > > [exec] LIBCMT.lib(tidtable.obj) : error LNK2005: __decode_pointer > > > > > already defined in MSVCRT.lib(MSVCR80.dll) > > > > > [exec] LIBCMT.lib(mlock.obj) : error LNK2005: __unlock already > > > > > defined in MSVCRT.lib(MSVCR80.dll) > > > > > [exec] LIBCMT.lib(mlock.obj) : error LNK2005: __lock already > > > > > defined in MSVCRT.lib(MSVCR80.dll) > > > > > [exec] LIBCMT.lib(stricmp.obj) : error LNK2005: __stricmp already > > > > > defined in MSVCRT.lib(MSVCR80.dll) > > > > > [exec] LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with > > > > > use of other libs; use /NODEFAULTLIB:library > > > > > [exec] LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with > > > > > use of other libs; use /NODEFAULTLIB:library > > > > > [exec] LIBCMT.lib(crt0.obj) : error LNK2019: unresolved external > > > > > symbol _main referenced in function ___tmainCRTStartup > > > > > [exec] ..\lcmm.dll : fatal error LNK1120: 1 unresolved externals > > > > > [exec] NMAKE : fatal error U1077: '"C:\Program Files\Microsoft > > > > > Visual Studio 8\VC\BIN\link.EXE"' : return code '0x460' > > > > > [exec] Stop. > > > > > > > > > > Any ideas? > > > > > > > > > > thanks, > > > > > dims > > > > > > > > > > > > > > > > > > -- > > > > Oliver Deakin > > > > Unless stated otherwise above: > > > > IBM United Kingdom Limited - Registered in England and Wales with > > > > number 741598. > > > > Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 > > > > 3AU > > > > > > > > > > > > > > > > > -- > > > Davanum Srinivas :: http://davanum.wordpress.com > > > > > > > > > > > > -- > > Davanum Srinivas :: http://davanum.wordpress.com > > > > > -- > Davanum Srinivas :: http://davanum.wordpress.com > -- Davanum Srinivas :: http://davanum.wordpress.com
