Wireshark-dev: Re: [Wireshark-dev] win 64 wireshark build
From: Brian Oleksa <oleksab@xxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 23 Jul 2009 11:47:56 -0400

My enviornment variables point to here:  C:\Program Files\Microsoft Visual Studio 9.0\VC\bin (which does have x64 tools in it).

Then when I run dumpbin.exe I get the following error:

C:\Program Files\Microsoft Visual Studio 9.0\VC\bin>dumpbin.exe /EXPORTS C:\Prog
ram Files\Microsoft Visual Studio 9.0\VC\resist\x86\Microsoft.VC90.CRT\msvcr90.d
ll








Thanks,
Brian




Graham Bloice wrote:
Graham Bloice wrote:
Brian Oleksa wrote:
How do you find that out...??

I have changed my PLATFORM to win64....

And here is what I have in my config.nmake file:

# "Microsoft Visual C++ 2008 Express Edition"
# Visual C++ 9.0, _MSC_VER 1500, msvcr90.dll
MSVC_VARIANT=MSVC2008EE

How do I know if it is 32 or 64 bit...??

Thanks,
Brian



Graham Bloice wrote:
  
Brian Oleksa wrote:
    
Gerald

It looks like the SDK is already installed. I also installed the 360 mb 
MSDN library..... What am I missing here...???



Thanks,
Brian



Gerald Combs wrote:
  
      
It looks like you need to install an SDK as well: 
http://en.wikipedia.org/wiki/Microsoft_Visual_Studio_Express#Visual_C.2B.2B_Express

Brian Oleksa wrote:
  
    
        
Gerald

Here are the errors that I am getting:

C:\wireshark-1.1.2-SVN-26844_32bit\plugins\helen>nmake -f Makefile.nmake 
all

Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation.  All rights reserved.

       link -dll /out:helen.dll /NOLOGO /INCREMENTAL:no /DEBUG 
/MACHINE:X86 pac
ket-helen.obj  plugin.obj ..\..\epan\libwireshark.lib  
C:\wireshark-win32-libs\g
lib\lib\glib-2.0.lib  C:\wireshark-win32-libs\glib\lib\gmodule-2.0.lib  
C:\wires
hark-win32-libs\glib\lib\gobject-2.0.lib helen.res
MSVCRT.lib(MSVCR90.dll) : fatal error LNK1112: *module machine type 
'x64' conflic
ts with target machine type 'X86'*
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 
9.0\VC\BIN
\x86_amd64\link.EXE"' : return code '0x458'
Stop.

Any thoughts or suggestions..??

I have a 32 bit XP box that I am compiling my new wireshark dissector on 
and everything is working fine.

I downloaded the free version of Visual C++ 2008 Express Edition. (I do 
not remember it giving me the option to install x64 compilers and tools)

I would like to compile a 64 bit version (on my same box using the 
*cross compilers*).

C:\Program Files\Microsoft Visual Studio 9.0\VC\bin>*vcvarsx86_amd64.bat*
Setting environment for using Microsoft Visual Studio 2008 Beta2 x64 
cross tools

But when I try and build it...I get the above error:

Thanks,
Brian

      
          
The linker error message is telling you that one of the object files 
or libraries you are attempting to link together in helen.dll is 
compiled for the wrong machine type.  The error seems to point to the 
MSVCR90.DLL being the problem.  Are you trying to link with the 32 bit 
version?
-- 
Regards,


    
Use dumpbin on the file with the /headers switch.  The first part of the output will have something like:

FILE HEADER VALUES
             14C machine (x86)
               4 number of sections
        4A671254 time date stamp Wed Jul 22 14:21:24 2009
               0 file pointer to symbol table
               0 number of symbols
              E0 size of optional header
             103 characteristics
                   Relocations stripped
                   Executable
                   32 bit word machine

A 64 bit module will have "8664 machine (x64)".


Also what is your environment var "LIB".  This should have x64 directories in the paths.
-- 
Regards,

Graham Bloice

___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe