Issue 448 in protobuf: failed to build x64 in vs2008

45 views
Skip to first unread message

prot...@googlecode.com

unread,
Dec 26, 2012, 2:58:40 AM12/26/12
to prot...@googlegroups.com
Status: New
Owner: liu...@google.com
Labels: Type-Defect Priority-Medium

New issue 448 by wuy...@gmail.com: failed to build x64 in vs2008
http://code.google.com/p/protobuf/issues/detail?id=448

What steps will reproduce the problem?
1.add an x64 config or target like other people say,and select copy config
from win32
2.build solution
3.build lite-tests and tests failed with error : Release\protoc not found

What is the expected output? What do you see instead?
I expect fo fullfill the building. Instead, i cann't get building done.

What version of the product are you using? On what operating system?
protobuf-2.5.0rc1,OS is windows server 2008 x64 edition

Please provide any additional information below.
I check the Release\protoc, and there it is. Because folder Release lies in
folder x64, so I tryied to copy the whole Release folder to the folder
vcprojects, and tried to build again, then suceed. I think maybe somewhere
in some src files has the wronge relative path to the generated *.exe.

blep

unread,
Dec 29, 2012, 12:53:17 PM12/29/12
to prot...@googlegroups.com, codesite...@google.com, prot...@googlecode.com
I remember running on a similar issue that may still be around (reporting on my TODO stockpile :/ )... MSVC 64 bits was detected as a big endian platform, while it should be little endian like in 32 bits.

For MSVC, you need to fix the processor detection as in the code below in src\google\protobuf\io\coded_stream.h:

// Remarks: 2 bugs in little endian detection:
// On Windows 64 bits => big endian
// On Solaris X86 => big endian
#ifdef _MSC_VER
  #if (defined(_M_IX86)  ||  defined(_M_X64))

Likely don't support targetting ARM processor, though...

Baptiste.
Reply all
Reply to author
Forward
0 new messages