Closed Bug 915102 Opened 11 years ago Closed 11 years ago

PositionError::GetMessage converts to PositionError::GetMessageW on VS2013RC

Categories

(Core :: DOM: Geolocation, defect)

x86
Windows 8
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: m_kato, Assigned: m_kato)

References

Details

Attachments

(1 file)

When building m-c using VS2013RC, the following error occurs when linking xul.dll.

PositionErrorBinding.obj : error LNK2019: unresolved external symbol "public: virtual enum tag_nsresult __stdcall mozilla::dom::PositionError::GetMessage(class
nsAString_internal &)" (?GetMessage@PositionError@dom@mozilla@@UAG?AW4tag_nsresult@@AAVnsAString_internal@@@Z) referenced in function "bool __cdecl mozilla::dom::PositionErrorBinding::get_message(struct JSContext *,class JS::Handle<class JSObject *>,class mozilla::dom::PositionError *,class JSJitGetterCallArgs)" (?get_message@PositionErrorBinding@dom@mozilla@@YA_NPAUJSContext@@V?$Handle@PAVJSObject@@@JS@@PAVPositionError@23@VJSJitGetterCallArgs@@@Z)
xul.dll : fatal error LNK1120: 1 unresolved externals
c:\Development\hg.mozilla.org\mozilla-vs\config\rules.mk:1018:0: command 'c:/Dev


This is well-known issue by GetMessage macro.
Attachment #802938 - Flags: review?(josh)
Blocks: VC12
Comment on attachment 802938 [details] [diff] [review]
need undef GetMessage

Review of attachment 802938 [details] [diff] [review]:
-----------------------------------------------------------------

/me weeps
Attachment #802938 - Flags: review?(josh) → review+
Please feel free to add a sad comment when landing this:

<http://mxr.mozilla.org/mozilla-central/search?string=Thanks%20so%20much%2C%20Microsoft!>

:(
(In reply to comment #3)
> Any reason we can't just use [binaryname] in the IDL for this?
> http://mxr.mozilla.org/mozilla-central/source/dom/mobilemessage/interfaces/nsIMobileMessageDatabaseService.idl#22

I think that's not a great idea.  No need to mess up the name for everybody.
Also, FWIW, "everyone" is kind of strong. This interface+class looks to be used in all of one C++ file:
http://mxr.mozilla.org/mozilla-central/source/dom/src/geolocation/nsGeolocation.cpp
The #pragma idea is a good one, I think.  FWIW I don't feel extremely strongly about this either way.
If using #pragma instead of, we should add workaround of the following functions.
http://mxr.mozilla.org/mozilla-central/ident?i=CreateEvent
http://mxr.mozilla.org/mozilla-central/ident?i=GetClassName
Build didn't fail with VS 2013 RTM for me.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: