localcc / hid_listener

Keyboard/Mouse event listener library for flutter
MIT License
11 stars 6 forks source link

Fix the bug while declaring the HidListener pointer as static member of HidListener in my case(combined with firebase_core_plugin v 2.21.0) #11

Open shixin627 opened 11 months ago

shixin627 commented 11 months ago

when I import the plugin in flutter project with firebase_core_plugin, it showed: hid_listener_plugin_windows.obj : error LNK2001: �L�k�ѪR���~���Ÿ� "private: static class HidListener * HidListener::ListenerInstance" (?ListenerInstance@HidListener@@0PEAV1@EA) [C:\Users\GitHub\Plugins\hid_listener\example\build\windows\plugins\hid_listener\hid_listener_plugin.vcxproj]

I solved it by commented the two lines: class FLUTTER_PLUGIN_EXPORT HidListener { public: HidListener(); ~HidListener();

//static HidListener* Get() { return HidListener::ListenerInstance; }

private: HHOOK m_keyboardHook; HHOOK m_mouseHook;

//static HidListener* ListenerInstance;

};

And I declare the pointer directly in (hid_listener/windows/hid_listener_plugin_windows.cpp) HidListener* ListenerInstance = nullptr;

localcc commented 11 months ago

The example should probably not contain firebase dependencies, also what is the purpose of doInit/doDispose?

shixin627 commented 11 months ago

localcc: Yes, the example shouldn't contain firebase_core plugin(I just tested on the local), and the functions doInit/doDispose are not necessary. Thanks Shixin

localcc @.***> 於 2023年11月7日 週二 下午4:40寫道:

The example should probably not contain firebase dependencies, also what is the purpose of doInit/doDispose?

— Reply to this email directly, view it on GitHub https://github.com/localcc/hid_listener/pull/11#issuecomment-1798044965, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALQCYNAFRBEVGJUGZID6GBLYDHXYPAVCNFSM6AAAAAA7AQM67GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJYGA2DIOJWGU . You are receiving this because you authored the thread.Message ID: @.***>

shixin627 commented 11 months ago

localcc: The scenario was that I imported firebase_core v 2.21.0 into my .yaml file without made any changes to the lib and compiled the example, and then I got the error messages while compiling. So I tried to make some changes the HidListener class. That is not a necessary update. I just changed the construction and didn't enhance any functionality feature. You don't need to upgrade your plugin. It's ok. Thanks you for developing the plugin. Shixin

Shixin Lin @.***> 於 2023年11月8日 週三 上午9:36寫道:

localcc: Yes, the example shouldn't contain firebase_core plugin(I just tested on the local), and the functions doInit/doDispose are not necessary. Thanks Shixin

localcc @.***> 於 2023年11月7日 週二 下午4:40寫道:

The example should probably not contain firebase dependencies, also what is the purpose of doInit/doDispose?

— Reply to this email directly, view it on GitHub https://github.com/localcc/hid_listener/pull/11#issuecomment-1798044965, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALQCYNAFRBEVGJUGZID6GBLYDHXYPAVCNFSM6AAAAAA7AQM67GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJYGA2DIOJWGU . You are receiving this because you authored the thread.Message ID: @.***>