Problems building for Windows

40 views
Skip to first unread message

Cristian Perfumo

unread,
Jul 23, 2008, 4:52:41 PM7/23/08
to gear...@googlegroups.com
Hi everyone,

I'm trying to build for windows but I encounter this problem:

C:\Documents and Settings\myusr\src\gears-read-only\gears>make BROWSER=FF3
make prereqs    BROWSER=FF3
make[1]: Nothing to be done for `prereqs'.
make genheaders BROWSER=FF3
../third_party/gecko_1.9/win32/gecko_sdk/bin/xpidl -I base/common -I ../third_pa
rty/gecko_1.9/win32/gecko_sdk/idl -I ../third_party/gecko_1.9 -m header -o bin-d
bg/win32-i386/ff3/genfiles/base_interface_ff base/common/base_interface_ff.idl
process_begin: CreateProcess(C:\Documents and Settings\myusr\src\gears-read-o
nly\third_party\gecko_1.9\win32\gecko_sdk\bin\xpidl.exe, ../third_party/gecko_1.
9/win32/gecko_sdk/bin/xpidl -I base/common -I ../third_party/gecko_1.9/win32/gec
ko_sdk/idl -I ../third_party/gecko_1.9 -m header -o bin-dbg/win32-i386/ff3/genfi
les/base_interface_ff base/common/base_interface_ff.idl, ...) failed.
make (e=5): Access is denied.
make[1]: *** [bin-dbg/win32-i386/ff3/genfiles/base_interface_ff.h] Error 5
make: *** [default] Error 2

C:\Documents and Settings\myusr\src\gears-read-only\gears>


I followed the tutorial: http://code.google.com/p/gears/wiki/BuildingGearsForWindows but some things in my configuration are different:
 1) I have VS Express
 2) Instead of "Microsoft Platform SDK for Windows Server 2003 R2", I have "Microsoft Windows SDK V6.1" which includes a CMD shell optimized for VStudio. When I open it, it shows:
Setting SDK environment relative to C:\Program Files\Microsoft SDKs\Windows\v6.1
.
Targeting Windows XP x86 DEBUG

   I think opening it is equivalent to SetEnv.cmd, isn't it?

Any suggestion?
Thanks in advance.

Cristian

Cristian

unread,
Jul 23, 2008, 7:56:52 PM7/23/08
to Gears Engineering Team
I could make progress by switching to VS2005. Anyways, after compiling
a lot, I get this:

link /NOLOGO /OUT:bin-dbg/win32-i386/ff3/gears.dll /DEBUG /RELEASE /
MACHINE:X86/NODEFAULTLIB:msvcrt /DLL /SUBSYSTEM:WINDOWS /PDB:"bin-dbg/
win32-i386/ff3/gears.pdb" ../third_party/gecko_1.9/win32/gecko_sdk/
lib/xpcom.lib ../third_party/gecko_1.9/win32/gecko_sdk/lib/
xpcomglue_s.lib ../third_party/gecko_1.9/win32/gecko_sdk/lib/
nspr4.lib ../third_party/gecko_1.9/win32/gecko_sdk/lib/js3250.lib
ole32.lib shell32.lib shlwapi.lib advapi32.lib wininet.lib
comdlg32.lib user32.lib ../third_party/skia/skia-dbg-win32-i386.lib
@bin-dbg/obj_list.temp


LINK : warning LNK4012: invalid value 'X86/NODEFAULTLIB:msvcrt', must
be 'ARM, EBC, IA64, MIPS, MIPS16, MIPSFPU, MIPSFPU16, SH4, THUMB, X64,
or X86'; option ignored
LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: virtual __thiscall
std::exception::~exception(void)" (??1exception@std@@UAE@XZ) already
defined in exception_handler_win32.obj
LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: virtual char const
* __thiscall std::exception::what(void)const " (?
what@exception@std@@UBEPBDXZ) already defined in
exception_handler_win32.obj
Creating library bin-dbg/win32-i386/ff3/gears.lib and object bin-
dbg/win32-i386/ff3/gears.exp
bin-dbg/win32-i386/ff3/gears.dll : fatal error LNK1169: one or more
multiply defined symbols found

Any idea is welcome.
Regards
Cristian

On Jul 23, 1:52 pm, "Cristian Perfumo" <cperf...@gmail.com> wrote:
> Hi everyone,
>
> I'm trying to build for windows but I encounter this problem:
>
> *C:\Documents and Settings\myusr\src\gears-read-only\gears>make BROWSER=FF3
> make prereqs    BROWSER=FF3
> make[1]: Nothing to be done for `prereqs'.
> make genheaders BROWSER=FF3
> ../third_party/gecko_1.9/win32/gecko_sdk/bin/xpidl -I base/common -I
> ../third_pa
> rty/gecko_1.9/win32/gecko_sdk/idl -I ../third_party/gecko_1.9 -m header -o
> bin-d
> bg/win32-i386/ff3/genfiles/base_interface_ff
> base/common/base_interface_ff.idl
> process_begin: CreateProcess(C:\Documents and
> Settings\myusr\src\gears-read-o
> nly\third_party\gecko_1.9\win32\gecko_sdk\bin\xpidl.exe,
> ../third_party/gecko_1.
> 9/win32/gecko_sdk/bin/xpidl -I base/common -I
> ../third_party/gecko_1.9/win32/gec
> ko_sdk/idl -I ../third_party/gecko_1.9 -m header -o
> bin-dbg/win32-i386/ff3/genfi
> les/base_interface_ff base/common/base_interface_ff.idl, ...) failed.
> make (e=5): Access is denied.
> make[1]: *** [bin-dbg/win32-i386/ff3/genfiles/base_interface_ff.h] Error 5
> make: *** [default] Error 2
>
> C:\Documents and Settings\myusr\src\gears-read-only\gears>*
>
> I followed the tutorial:http://code.google.com/p/gears/wiki/BuildingGearsForWindowsbut some things
> in my configuration are different:
>  1) I have VS Express
>  2) Instead of "Microsoft Platform SDK for Windows Server 2003 R2", I have
> "Microsoft Windows SDK V6.1" which includes a CMD shell optimized for
> VStudio. When I open it, it shows:
> *Setting SDK environment relative to C:\Program Files\Microsoft
> SDKs\Windows\v6.1
> .
> Targeting Windows XP x86 DEBUG*

Chris Prince

unread,
Jul 23, 2008, 8:17:24 PM7/23/08
to gear...@googlegroups.com
This error:

> LINK : warning LNK4012: invalid value 'X86/NODEFAULTLIB:msvcrt', must
> be 'ARM, EBC, IA64, MIPS, MIPS16, MIPSFPU, MIPSFPU16, SH4, THUMB, X64,
> or X86'; option ignored

implies that /tools/config.mk is not getting parsed correctly. (Note
how spaces have been removed.)

Have you tried building from a vanilla 'cmd.exe' prompt (NOT cygwin,
NOT a VS command shell)?

--Chris

Cristian

unread,
Jul 23, 2008, 9:51:01 PM7/23/08
to Gears Engineering Team
Hi Chris,

As you said, running on a vanilla cmd doesn't cause config.mk to be
misparsed. Nevertheless, the error stays the same (except for the
warning that disappears):

/*************************/
link /NOLOGO /OUT:bin-dbg/win32-i386/ff3/gears.dll /DEBUG /RELEASE /
MACHINE:X86 /NODEFAULTLIB:msvcrt /DLL /SUBSYSTEM:WINDOWS /PDB:"bin-
dbg/win32-i386/ff3/gears.pdb" ../third_party/gecko_1.9/win32/
gecko_sdk/lib/xpcom.lib ../third_party/gecko_1.9/win32/gecko_sdk/lib/
xpcomglue_s.lib ../third_party/gecko_1.9/win32/gecko_sdk/lib/
nspr4.lib ../third_party/gecko_1.9/win32/gecko_sdk/lib/js3250.lib
ole32.lib shell32.lib shlwapi.lib advapi32.lib wininet.lib
comdlg32.lib user32.lib ../third_party/skia/skia-dbg-win32-i386.lib
@bin-dbg/obj_list.temp

LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: virtual __thiscall
std::exception::~exception(void)" (??1exception@std@@UAE@XZ) already
defined in exception_handler_win32.obj
LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: virtual char const
* __thiscall std::exception::what(void)const " (?
what@exception@std@@UBEPBDXZ) already defined in
exception_handler_win32.obj
Creating library bin-dbg/win32-i386/ff3/gears.lib and object bin-
dbg/win32-i386/ff3/gears.exp
bin-dbg/win32-i386/ff3/gears.dll : fatal error LNK1169: one or more
multiply defined symbols found
make[1]: *** [bin-dbg/win32-i386/ff3/gears.dll] Error 1169
make: *** [default] Error 2
/*************************/

Any other idea?
Thanks in advance.
Cristian



On Jul 23, 5:17 pm, "Chris Prince" <cpri...@google.com> wrote:
> This error:
>
> > LINK : warning LNK4012: invalid value 'X86/NODEFAULTLIB:msvcrt', must
> > be 'ARM, EBC, IA64, MIPS, MIPS16, MIPSFPU, MIPSFPU16, SH4, THUMB, X64,
> > or X86'; option ignored
>
> implies that /tools/config.mk is not getting parsed correctly.  (Note
> how spaces have been removed.)
>
> Have you tried building from a vanilla 'cmd.exe' prompt (NOT cygwin,
> NOT a VS command shell)?
>
> --Chris
>
> >> I followed the tutorial:http://code.google.com/p/gears/wiki/BuildingGearsForWindowsbutsome things

Chris Prince

unread,
Jul 23, 2008, 9:55:21 PM7/23/08
to gear...@googlegroups.com
Did you do a clean build after switching to a vanilla cmd.exe? The
"already defined" symbol error looks like an earlier object file might
have been compiled without -EHsc (possibly due to config.mk
misparsing).

Cristian

unread,
Jul 23, 2008, 10:53:00 PM7/23/08
to Gears Engineering Team
Yes, I tried with a cleaned version. In fact, I just tried again with
a completely fresh downloaded version and it's all the same:
/********************************/
link /NOLOGO /OUT:bin-dbg/win32-i386/ff3/gears.dll /DEBUG /RELEASE /
MACHINE:X86 /NODEFAULTLIB:msvcrt /DLL /SUBSYSTEM:WINDOWS /PDB:"bin-
dbg/win32-i386/ff3/gears.pdb" ../third_party/gecko_1.9/win32/
gecko_sdk/lib/xpcom.lib ../third_party/gecko_1.9/win32/gecko_sdk/lib/
xpcomglue_s.lib ../third_party/gecko_1.9/win32/gecko_sdk/lib/
nspr4.lib ../third_party/gecko_1.9/win32/gecko_sdk/lib/js3250.lib
ole32.lib shell32.lib shlwapi.lib advapi32.lib wininet.lib
comdlg32.lib user32.lib ../third_party/skia/skia-dbg-win32-i386.lib
@bin-dbg/obj_list.temp

LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: virtual __thiscall
std::exception::~exception(void)" (??1exception@std@@UAE@XZ) already
defined in exception_handler_win32.obj
LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: virtual char const
* __thiscall std::exception::what(void)const " (?
what@exception@std@@UBEPBDXZ) already defined in
exception_handler_win32.obj
Creating library bin-dbg/win32-i386/ff3/gears.lib and object bin-
dbg/win32-i386/ff3/gears.exp
bin-dbg/win32-i386/ff3/gears.dll : fatal error LNK1169: one or more
multiply defined symbols found
make[1]: *** [bin-dbg/win32-i386/ff3/gears.dll] Error 1169
make: *** [default] Error 2
/***********************************************/

What I do before "make BROWSER=FF3" is:
1) "c:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" (if I
don't do that... link wouldn'n work even if it's in the path).
2) set PATH=%PATH%;c:\Python24;"c:\Program Files\Windows Installer XML
v3\bin";c:\unix\usr\local\wbin

Two questions:
a) Can it be the absence of "SetEnv.cmd" what's causing the problem?
b) I was checking confing.mk and I don't see the -EHsc option
anywhere. The most similar thing is this:

# In VC8, the way to disable exceptions is to remove all /EH* flags,
and to
# define _HAS_EXCEPTIONS=0 (for C++ headers) and _ATL_NO_EXCEPTIONS
(for ATL).
COMPILE_FLAGS += -D_HAS_EXCEPTIONS=0 -D_ATL_NO_EXCEPTIONS

where EH* is mentioned, but I don't have enough understanding to
realize whether this might be the reason or not. What do you think?

c) Maybe this is stupid, but since -D_HAS_EXCEPTIONS=0 is intended to
disable exceptions, and the multiple definition is (?
what@exception@std@@UBEPBDXZ), can it be possible that the option -
D_HAS_EXCEPTIONS=0 is not being interpreted because the previous
option ends in a dash?: /Zc:wchar_t- -D_HAS_EXCEPTIONS=0

OK... that's all the information I have.
I'll be very glad if any of you guys can throw a light on it.
Kind regards.
Cristian



On Jul 23, 6:55 pm, "Chris Prince" <cpri...@google.com> wrote:
> Did you do a clean build after switching to a vanilla cmd.exe?  The
> "already defined" symbol error looks like an earlier object file might
> have been compiled without -EHsc (possibly due to config.mk
> misparsing).
>

Chris Prince

unread,
Jul 23, 2008, 11:04:56 PM7/23/08
to gear...@googlegroups.com
I'm afraid I'm all out of ideas. Maybe somebody else on this list has thoughts?

To answer your questions below:
- No, you shouldn't need SetEnv.cmd. None of the full-time Gears
contributors are using it.
- If you see neither /EHsc nor /GX in your command lines, then that's
the correct behavior.

Cristian

unread,
Jul 23, 2008, 11:11:29 PM7/23/08
to Gears Engineering Team
Is it possible that http://code.google.com/p/gears/wiki/BuildingGearsForWindows
is out of date and it's missing some key point?
In case you work in windows... which steps do you follow to compile a
fresh copy?
Many thanks.

On Jul 23, 8:04 pm, "Chris Prince" <cpri...@google.com> wrote:
> I'm afraid I'm all out of ideas.  Maybe somebody else on this list has thoughts?
>
> To answer your questions below:
> - No, you shouldn't need SetEnv.cmd.  None of the full-time Gears
> contributors are using it.
> - If you see neither /EHsc nor /GX in your command lines, then that's
> the correct behavior.
>

Cristian

unread,
Jul 24, 2008, 3:07:23 PM7/24/08
to Gears Engineering Team
I tried with a fresh MACHINE. Installed VS2005 and exactly the same
problem.
I didn't install the SDK on this fresh machine and the problem shows
up anyways. Is it necessary at all to install it?
Regards.
Cristian

On Jul 23, 8:11 pm, Cristian <cperf...@gmail.com> wrote:
> Is it possible thathttp://code.google.com/p/gears/wiki/BuildingGearsForWindows
> > >> >> Have you triedbuildingfrom a vanilla 'cmd.exe' prompt (NOT cygwin,
> ...
>
> read more »

Cristian

unread,
Jul 24, 2008, 3:53:37 PM7/24/08
to Gears Engineering Team
Here's another test I carried out:
I installed VS2008, and tried to build gears.
The problem now is:

/**********************************************************/
cl -I.. -Ibin-dbg/win32-i386/ff3 -Ibin-dbg/win32-i386/common -I../
third_party/n
papi -I../third_party -I../third_party/googleurl -I../third_party/
icu38/public/c
ommon -DNO_GZIP -DNO_GZCOMPRESS -DPNG_USER_CONFIG -I../third_party/
zlib -I../thi
rd_party/breakpad/src -I../third_party/libgd /nologo -DSTRICT -
D_UNICODE -DUNICO
DE -D_USRDLL -DWIN32 -D_WINDLL -D_CRT_SECURE_NO_DEPRECATE -DNOMINMAX -
D_WINDOWS
-DWINVER=0x0500 -D_WIN32_WINNT=0x0500 -D_WIN32_IE=0x0500 -
D_RICHEDIT_VER=0x0010
-D_MERGE_PROXYSTUB -DBREAKPAD_AVOID_STREAMS -DXP_WIN -D_DEBUG=1 -
DDEBUG=1 -DUSI
NG_CCTESTS=1 -I../third_party/gtest/include -I../third_party/gtest /c /
Fo"bin-db
g/win32-i386/common/sqlite/alter.obj" /Fd"bin-dbg/win32-i386/common/
sqlite/alter
.pdb" /W3 /WX /GR- /MTd /Zi /Zc:wchar_t- -D_HAS_EXCEPTIONS=0 -
D_ATL_NO_EXCEPTION
S -DU_STATIC_IMPLEMENTATION -DSQLITE_CORE -DSQLITE_ENABLE_FTS1 -
DSQLITE_ENABLE_
FTS2 -DTHREADSAFE=1 -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600 -
DSQLITE_OMIT_ATTACH=
1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_OMIT_VACUUM=1 -
DSQLITE_TRANSACTION_DEF
AULT_IMMEDIATE=1 -I../third_party/sqlite_google/src -I../third_party/
sqlite_goog
le/preprocessed /wd4018 /wd4244 ../third_party/sqlite_google/src/
alter.c
alter.c
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE
\stdlib.h(526) : error C2
065: 'MB_LEN_MAX' : undeclared identifier
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE
\stdlib.h(526) : error C2
057: expected constant expression
make[1]: *** [bin-dbg/win32-i386/common/sqlite/alter.obj] Error 2
make: *** [default] Error 2
/****************************************************************/

And so I decided to try a naive solution: I added Visual Studio 9.0/VC/
include in config.mk to make MB_LEN_MAX visible. Having done that, I
tried again and the building process continues until:

/********************************************************************/
cl -I.. -Ibin-dbg/win32-i386/ff3 -Ibin-dbg/win32-i386/common -I"/
Program Files/M
icrosoft Visual Studio 9.0/VC/include" -I../third_party/npapi -I../
third_party -
I../third_party/googleurl -I../third_party/icu38/public/common -
DNO_GZIP -DNO_GZ
COMPRESS -DPNG_USER_CONFIG -I../third_party/zlib -I../third_party/
breakpad/src -
I../third_party/libgd /nologo -DSTRICT -D_UNICODE -DUNICODE -D_USRDLL -
DWIN32 -D
_WINDLL -D_CRT_SECURE_NO_DEPRECATE -DNOMINMAX -D_WINDOWS -
DWINVER=0x0500 -D_WIN3
2_WINNT=0x0500 -D_WIN32_IE=0x0500 -D_RICHEDIT_VER=0x0010 -
D_MERGE_PROXYSTUB -DBR
EAKPAD_AVOID_STREAMS -DXP_WIN -D_DEBUG=1 -DDEBUG=1 -DUSING_CCTESTS=1 -
I../third
_party/gtest/include -I../third_party/gtest /c /Fo"bin-dbg/win32-i386/
common/thi
rd_party/zutil.obj" /Fd"bin-dbg/win32-i386/common/third_party/
zutil.pdb" /W3 /WX
/GR- /MTd /Zi /Zc:wchar_t- -D_HAS_EXCEPTIONS=0 -D_ATL_NO_EXCEPTIONS -
DU_STATIC_
IMPLEMENTATION /wd4018 /wd4003 ../third_party/zlib/zutil.c
zutil.c
C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdio.h(358) :
error C31
63: '_vsnprintf': attributes inconsistent with previous declaration
C:\Program Files\Microsoft Visual Studio 9.0\VC\include
\stdio.h(350) : s
ee declaration of '_vsnprintf'
make[1]: *** [bin-dbg/win32-i386/common/third_party/zutil.obj] Error 2
make: *** [default] Error 2
/**************************************************************/

I think this error is related to my previous "hack".
Any idea?

Thanks in advance.

Cristian
> ...
>
> read more »

Cristian

unread,
Jul 28, 2008, 3:46:13 PM7/28/08
to Gears Engineering Team
Hi all,

the only workaround I could find is to link with /FORCE:MULTIPLE. So
now th eone line I modified in config.mk looks like this:

SHARED_LINKFLAGS = /NOLOGO /FORCE:MULTIPLE /OUT:$@ /DEBUG /RELEASE

That seems to do the trick.

I know it's not the best ever, but if you had the same problem I did,
at least you can now compile and try until someone can come uo with a
better way of fixing it.

Thanks a lot to everyone.

Cristian.

PS: this message is also related to
http://groups.google.com/group/gears-eng/browse_thread/thread/62118994a51ab18a/e915462e07a1c7a2?lnk=gst&q=issue+windows#e915462e07a1c7a2
> > > In case you work inwindows... which steps do you follow to compile a
> > > fresh copy?
> > > Many thanks.
>
> > > On Jul 23, 8:04 pm, "Chris Prince" <cpri...@google.com> wrote:
>
> > > > I'm afraid I'm all out of ideas.  Maybe somebody else on this list has thoughts?
>
> > > > To answer your questions below:
> > > > - No, you shouldn't need SetEnv.cmd.  None of the full-time Gears
> > > > contributors are using it.
> > > > - If you see neither /EHsc nor /GX in your command lines, then that's
> > > > the correct behavior.
>
> > > > On Wed, Jul 23, 2008 at 7:53 PM, Cristian <cperf...@gmail.com> wrote:
>
> > > > > Yes, I tried with a cleaned version. In fact, I just tried again with
> > > > > a completely fresh downloaded version and it's all the same:
> > > > > /********************************/
> > > > > link /NOLOGO /OUT:bin-dbg/win32-i386/ff3/gears.dll /DEBUG /RELEASE /
> > > > > MACHINE:X86 /NODEFAULTLIB:msvcrt  /DLL /SUBSYSTEM:WINDOWS/PDB:"bin-
> > > > > dbg/win32-i386/ff3/gears.pdb"   ../third_party/gecko_1.9/win32/
> > > > > gecko_sdk/lib/xpcom.lib ../third_party/gecko_1.9/win32/gecko_sdk/lib/
> > > > > xpcomglue_s.lib ../third_party/gecko_1.9/win32/gecko_sdk/lib/
> > > > > nspr4.lib ../third_party/gecko_1.9/win32/gecko_sdk/lib/js3250.lib
> > > > > ole32.lib shell32.lib shlwapi.lib advapi32.lib wininet.lib
> > > > > comdlg32.lib user32.lib ../third_party/skia/skia-dbg-win32-i386.lib
> > > > > @bin-dbg/obj_list.temp
>
> > > > > LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: virtual __thiscall
> > > > > std::exception::~exception(void)" (??1exception@std@@UAE@XZ) already
> > > > > defined in exception_handler_win32.obj
> > > > > LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: virtual char const
> > > > > * __thiscall std::exception::what(void)const " (?
> > > > > what@exception@std@@UBEPBDXZ) already defined in
> > > > > exception_handler_win32.obj
> > > > >   Creating library bin-dbg/win32-i386/ff3/gears.lib and object bin-
> > > > > dbg/win32-i386/ff3/gears.exp
> > > > > bin-dbg/win32-i386/ff3/gears.dll : fatal error LNK1169: one or more
> > > > > multiply defined symbols found
> > > > > make[1]: *** [bin-dbg/win32-i386/ff3/gears.dll] Error 1169
> > > > > make: *** [default] Error 2
> > > > > /***********************************************/
>
> > > > > What I do before "make BROWSER=FF3" is:
> > > > > 1) "c:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" (if I
> > > > > don't do that... link wouldn'n work even if it's in the path).
> > > > > 2) set PATH=%PATH%;c:\Python24;"c:\Program Files\WindowsInstaller XML
> > > > > v3\bin";c:\unix\usr\local\wbin
>
> > > > > Two questions:
> > > > > a) Can it be the absence of "SetEnv.cmd" what's causing the problem?
> > > > > b) I was checking confing.mk and I don't see the -EHsc option
> > > > > anywhere. The most similar thing is this:
>
> > > > > # In VC8, the way to disable exceptions is to remove all /EH* flags,
> > > > > and to
> > > > > # define _HAS_EXCEPTIONS=0 (for C++ headers) and _ATL_NO_EXCEPTIONS
> > > > > (for ATL).
> > > > > COMPILE_FLAGS += -D_HAS_EXCEPTIONS=0 -D_ATL_NO_EXCEPTIONS
>
> > > > > where EH* is mentioned, but I don't have enough understanding to
> > > > > realize whether this might be the reason or not. What do you think?
>
> > > > > c) Maybe this is stupid, but since -D_HAS_EXCEPTIONS=0 is intended to
> > > > > disable exceptions, and the multiple definition is (?
> > > > > what@exception@std@@UBEPBDXZ), can it be possible that the option -
> > > > > D_HAS_EXCEPTIONS=0 is not being interpreted because the previous
> > > > > option ends in a dash?: /Zc:wchar_t- -D_HAS_EXCEPTIONS=0
>
> > > > > OK... that's all the information I have.
> > > > > I'll be very glad if any of you guys can throw a light on it.
> > > > > Kind regards.
> > > > > Cristian
>
> > > > > On Jul 23, 6:55 pm, "Chris Prince" <cpri...@google.com> wrote:
> > > > >> Did you do a cleanbuildafter switching to a vanilla cmd.exe?  The
> > > > >> "already defined" symbol error looks like an earlier object file might
> > > > >> have been compiled without -EHsc (possibly due to config.mk
> > > > >> misparsing).
>
> > > > >> On Wed, Jul 23, 2008 at 6:51 PM, Cristian <cperf...@gmail.com> wrote:
>
> > > > >> > Hi Chris,
>
> > > > >> > As you said, running on a vanilla cmd doesn't cause config.mk to be
> > > > >> > misparsed. Nevertheless, the error stays the same (except for the
> > > > >> > warning that disappears):
>
> > > > >> > /*************************/
> > > > >> > link /NOLOGO /OUT:bin-dbg/win32-i386/ff3/gears.dll /DEBUG /RELEASE /
> > > > >> > MACHINE:X86 /NODEFAULTLIB:msvcrt  /DLL /SUBSYSTEM:WINDOWS/PDB:"bin-
> > > > >> > dbg/win32-i386/ff3/gears.pdb"   ../third_party/gecko_1.9/win32/
> > > > >> > gecko_sdk/lib/xpcom.lib ../third_party/gecko_1.9/win32/gecko_sdk/lib/
> > > > >> > xpcomglue_s.lib ../third_party/gecko_1.9/win32/gecko_sdk/lib/
> > > > >> > nspr4.lib ../third_party/gecko_1.9/win32/gecko_sdk/lib/js3250.lib
> > > > >> > ole32.lib shell32.lib shlwapi.lib advapi32.lib wininet.lib
> > > > >> > comdlg32.lib user32.lib ../third_party/skia/skia-dbg-win32-i386.lib
> > > > >> > @bin-dbg/obj_list.temp
>
> > > > >> > LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: virtual __thiscall
> > > > >> > std::exception::~exception(void)" (??1exception@std@@UAE@XZ) already
> > > > >> > defined in exception_handler_win32.obj
> > > > >> > LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: virtual char const
> > > > >> > * __thiscall std::exception::what(void)const " (?
> > > > >> > what@exception@std@@UBEPBDXZ) already defined in
> > > > >> > exception_handler_win32.obj
> > > > >> >   Creating library bin-dbg/win32-i386/ff3/gears.lib and object bin-
> > > > >> > dbg/win32-i386/ff3/gears.exp
> > > > >> > bin-dbg/win32-i386/ff3/gears.dll : fatal error LNK1169: one or more
> > > > >> > multiply defined symbols found
> > > > >> > make[1]: ***
>
> ...
>
> read more »

gears.t...@gmail.com

unread,
Jul 28, 2008, 7:49:17 PM7/28/08
to Gears Engineering Team
On the off chance that it turns out to be this simple...

When setting up a new windows machine to build Gears, I always install
these two redistributable packages from Microsoft first:

.net framework 2.0
http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displaylang=en
(dotnetfx.exe) and

VS 2005 sp1 redist
http://www.microsoft.com/downloads/details.aspx?familyid=200b2fd9-ae1a-4a14-984d-389c36f85647&displaylang=en
(vcredist_x86.exe)

Had some problems building on a fresh windows install a while back and
after some snooping (I forget what exactly) I ended up installing
these and haven't had any trouble since.

On Jul 23, 8:11 pm, Cristian <cperf...@gmail.com> wrote:
> Is it possible thathttp://code.google.com/p/gears/wiki/BuildingGearsForWindows
> ...
>
> read more »
Reply all
Reply to author
Forward
0 new messages