Re: [firebreath-dev] Firebreath Plugin: error LNK2001: unresolved external symbol DllCanUnloadNow

967 views
Skip to first unread message

Richard Bateman

unread,
May 6, 2013, 4:12:14 PM5/6/13
to firebre...@googlegroups.com

It's hard to tell for sure what is going on from what you've said, but the symbols you're missing are found in the *_PluginAuto project. Sounds like that isn't linking correctly anymore.  Rather than add the libraries using vs2012, I recommend you do so using cmake and rerun the prep script and see if that helps. It's possible your libraries are in some way incompatible as well.

Richard

On May 6, 2013, at 13:07 , Prem <prem.tec...@gmail.com> wrote:

Hi,

I'm trying to create a NPAPI plugin using Firebreath environment. My goal is to write a plugin to wrap our MediaPlayer engine and eventually create an HTML5 based webapp to play audio/video contents via the plugin.

As a part of this activity, I loaded the projects of our media framework's into the plugin solution using VS2012 and gave a bunch of library inputs that our engine would be using. I'm running into the following linker errors,

*******************************************************************************************************************************

Error      22           error LNK2001: unresolved external symbol DllCanUnloadNow                D:\Browser_Plugin_Development\FireBreath\FireBreath_1.7\FireBreath\build\projects\MMFrPlugin\FireBreathWin.def                MMFrPlugin

Error      23           error LNK2001: unresolved external symbol DllGetClassObject                D:\Browser_Plugin_Development\FireBreath\FireBreath_1.7\FireBreath\build\projects\MMFrPlugin\FireBreathWin.def                MMFrPlugin

Error      24           error LNK2001: unresolved external symbol DllRegisterServer                D:\Browser_Plugin_Development\FireBreath\FireBreath_1.7\FireBreath\build\projects\MMFrPlugin\FireBreathWin.def                MMFrPlugin

Error      25           error LNK2001: unresolved external symbol DllUnregisterServer                D:\Browser_Plugin_Development\FireBreath\FireBreath_1.7\FireBreath\build\projects\MMFrPlugin\FireBreathWin.def                MMFrPlugin

Error      26           error LNK1120: 4 unresolved externals                D:\Browser_Plugin_Development\FireBreath\FireBreath_1.7\FireBreath\build\projects\MMFrPlugin\Debug\npMMFrPlugin.lib                MMFrPlugin
*******************************************************************************************************************************
The above linker errors are preceded by the following warnings,

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Warning               3              warning LNK4078: multiple 'ATL' sections found with different attributes (40301040)                D:\Browser_Plugin_Development\FireBreath\FireBreath_1.7\FireBreath\build\projects\MMFrPlugin\atlsd.lib(atlcommodule.obj)                MMFrPlugin

Warning               4              warning LNK4022: cannot find unique match for symbol 'DllCanUnloadNow'                D:\Browser_Plugin_Development\FireBreath\FireBreath_1.7\FireBreath\build\projects\MMFrPlugin\FireBreathWin.def                MMFrPlugin

Warning               5              warning LNK4002: "public: long __thiscall ATL::CAtlDllModuleT<class CFireBreathWinModule>::DllCanUnloadNow(void)" (?DllCanUnloadNow@?$CAtlDllModuleT@VCFireBreathWinModule@@@ATL@@QAEJXZ) defined in PluginAuto\Debug\MFP_PluginAuto.lib                D:\Browser_Plugin_Development\FireBreath\FireBreath_1.7\FireBreath\build\projects\MMFrPlugin\FireBreathWin.def                MMFrPlugin

Warning               6              warning LNK4002: _DllCanUnloadNow@0 defined in PluginAuto\Debug\MFP_PluginAuto.lib                D:\Browser_Plugin_Development\FireBreath\FireBreath_1.7\FireBreath\build\projects\MMFrPlugin\FireBreathWin.def                MMFrPlugin

Warning               7              warning LNK4002: _DllCanUnloadNow@0 defined in C:\Program Files\Windows Kits\8.0\lib\win8\um\x86\strmbase.lib                D:\Browser_Plugin_Development\FireBreath\FireBreath_1.7\FireBreath\build\projects\MMFrPlugin\FireBreathWin.def                MMFrPlugin

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

It looks like all these DLL functions are defined in different libraries and that might be the reason why VS2012 is not able to link to the right modules. I'm not too sure about this.

Also please find the attached document for all warnings and errors list.

Could someone please help me fix the above linker errors? Any piece of information that gives me a clue to fix this error would be appreciated.

Thanks,
Prem

--
 
---
You received this message because you are subscribed to the Google Groups "firebreath-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebreath-de...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
<linker_errors.docx>

Premkumar C

unread,
May 7, 2013, 5:33:46 AM5/7/13
to firebre...@googlegroups.com
Hi Richard,

Thanks for the response. Actually I figured out that the "Link Library Dependencies" was set as "Yes" in MyPlugin Property Pages -> Linker -> General -> Link Library Dependencies

When I set that as 'No' the DLL function related linker errors were gone. Now I'll try to use my static libraries from within the plugin and see how it goes.

I'll reach out to the forum if I've any more issues.

Thanks,
Prem
Reply all
Reply to author
Forward
0 new messages