This repository was archived by the owner on Dec 3, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 607
This repository was archived by the owner on Dec 3, 2025. It is now read-only.
[linux/window] Fix exported API surface to be DLL/so-safe #230
Copy link
Copy link
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
VS builds now have a large number of export warnings since #216 landed.
Log:
"C:\dev\flutter-desktop-embedding\example\windows\Example Embedder.sln" (default target) (1) ->
"C:\dev\flutter-desktop-embedding\example\windows\GLFW Example.vcxproj.metaproj" (default target) (2) ->
"C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj" (default target) (3) ->
(ClCompile target) ->
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\method_call.h(46): warning C4251: 'flutter_desktop_embedding::MethodCal
l<T>::method_name_': class 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' needs to have dll-interface to be used by clients o
f class 'flutter_desktop_embedding::MethodCall<T>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\method_call.h(47): warning C4251: 'flutter_desktop_embedding::MethodCal
l<T>::arguments_': class 'std::unique_ptr<_Ty,std::default_delete<_Ty>>' needs to have dll-interface to be used by clients of class 'flutter_desktop
_embedding::MethodCall<T>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\engine_method_result.h(47): warning C4251: 'flutter_desktop_embedding::
internal::ReplyManager::reply_handler_': class 'std::function<void (const uint8_t *,size_t)>' needs to have dll-interface to be used by clients of c
lass 'flutter_desktop_embedding::internal::ReplyManager' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\engine_method_result.h(84): warning C4251: 'flutter_desktop_embedding::
EngineMethodResult<T>::reply_manager_': class 'std::unique_ptr<flutter_desktop_embedding::internal::ReplyManager,std::default_delete<_Ty>>' needs to
have dll-interface to be used by clients of class 'flutter_desktop_embedding::EngineMethodResult<T>' [C:\dev\flutter-desktop-embedding\library\wind
ows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\basic_message_channel.h(100): warning C4251: 'flutter_desktop_embedding
::BasicMessageChannel<T>::name_': class 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' needs to have dll-interface to be used
by clients of class 'flutter_desktop_embedding::BasicMessageChannel<T>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\method_call.h(46): warning C4251: 'flutter_desktop_embedding::MethodCal
l<T>::method_name_': class 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' needs to have dll-interface to be used by clients o
f class 'flutter_desktop_embedding::MethodCall<T>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\method_call.h(47): warning C4251: 'flutter_desktop_embedding::MethodCal
l<T>::arguments_': class 'std::unique_ptr<_Ty,std::default_delete<_Ty>>' needs to have dll-interface to be used by clients of class 'flutter_desktop
_embedding::MethodCall<T>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\engine_method_result.h(47): warning C4251: 'flutter_desktop_embedding::
internal::ReplyManager::reply_handler_': class 'std::function<void (const uint8_t *,size_t)>' needs to have dll-interface to be used by clients of c
lass 'flutter_desktop_embedding::internal::ReplyManager' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\engine_method_result.h(84): warning C4251: 'flutter_desktop_embedding::
EngineMethodResult<T>::reply_manager_': class 'std::unique_ptr<flutter_desktop_embedding::internal::ReplyManager,std::default_delete<_Ty>>' needs to
have dll-interface to be used by clients of class 'flutter_desktop_embedding::EngineMethodResult<T>' [C:\dev\flutter-desktop-embedding\library\wind
ows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\method_channel.h(93): warning C4251: 'flutter_desktop_embedding::Method
Channel<T>::name_': class 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' needs to have dll-interface to be used by clients of
class 'flutter_desktop_embedding::MethodChannel<T>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\common\glfw\embedder.cc(229): warning C4305: 'argument': truncation from 'double' to 'GLclampf' [C:\dev\f
lutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\common\glfw\embedder.cc(272): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of dat
a [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\common\glfw\embedder.cc(319): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss
of data [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\basic_message_channel.h(100): warning C4251: 'flutter_desktop_embedding
::BasicMessageChannel<T>::name_': class 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' needs to have dll-interface to be used
by clients of class 'flutter_desktop_embedding::BasicMessageChannel<T>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\basic_message_channel.h(100): warning C4251: 'flutter_desktop_embedding
::BasicMessageChannel<Json::Value>::name_': class 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' needs to have dll-interface
to be used by clients of class 'flutter_desktop_embedding::BasicMessageChannel<Json::Value>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW
Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\method_call.h(46): warning C4251: 'flutter_desktop_embedding::MethodCal
l<T>::method_name_': class 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' needs to have dll-interface to be used by clients o
f class 'flutter_desktop_embedding::MethodCall<T>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\method_call.h(47): warning C4251: 'flutter_desktop_embedding::MethodCal
l<T>::arguments_': class 'std::unique_ptr<_Ty,std::default_delete<_Ty>>' needs to have dll-interface to be used by clients of class 'flutter_desktop
_embedding::MethodCall<T>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\engine_method_result.h(47): warning C4251: 'flutter_desktop_embedding::
internal::ReplyManager::reply_handler_': class 'std::function<void (const uint8_t *,size_t)>' needs to have dll-interface to be used by clients of c
lass 'flutter_desktop_embedding::internal::ReplyManager' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\engine_method_result.h(84): warning C4251: 'flutter_desktop_embedding::
EngineMethodResult<T>::reply_manager_': class 'std::unique_ptr<flutter_desktop_embedding::internal::ReplyManager,std::default_delete<_Ty>>' needs to
have dll-interface to be used by clients of class 'flutter_desktop_embedding::EngineMethodResult<T>' [C:\dev\flutter-desktop-embedding\library\wind
ows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\method_channel.h(93): warning C4251: 'flutter_desktop_embedding::Method
Channel<T>::name_': class 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' needs to have dll-interface to be used by clients of
class 'flutter_desktop_embedding::MethodChannel<T>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\method_channel.h(93): warning C4251: 'flutter_desktop_embedding::Method
Channel<Json::Value>::name_': class 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' needs to have dll-interface to be used by
clients of class 'flutter_desktop_embedding::MethodChannel<Json::Value>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\method_call.h(46): warning C4251: 'flutter_desktop_embedding::MethodCal
l<Json::Value>::method_name_': class 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' needs to have dll-interface to be used by
clients of class 'flutter_desktop_embedding::MethodCall<Json::Value>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\method_call.h(47): warning C4251: 'flutter_desktop_embedding::MethodCal
l<Json::Value>::arguments_': class 'std::unique_ptr<T,std::default_delete<_Ty>>' needs to have dll-interface to be used by clients of class 'flutter
_desktop_embedding::MethodCall<Json::Value>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\engine_method_result.h(84): warning C4251: 'flutter_desktop_embedding::
EngineMethodResult<T>::reply_manager_': class 'std::unique_ptr<flutter_desktop_embedding::internal::ReplyManager,std::default_delete<_Ty>>' needs to
have dll-interface to be used by clients of class 'flutter_desktop_embedding::EngineMethodResult<T>' [C:\dev\flutter-desktop-embedding\library\wind
ows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\method_call.h(46): warning C4251: 'flutter_desktop_embedding::MethodCal
l<T>::method_name_': class 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' needs to have dll-interface to be used by clients o
f class 'flutter_desktop_embedding::MethodCall<T>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\method_call.h(47): warning C4251: 'flutter_desktop_embedding::MethodCal
l<T>::arguments_': class 'std::unique_ptr<_Ty,std::default_delete<_Ty>>' needs to have dll-interface to be used by clients of class 'flutter_desktop
_embedding::MethodCall<T>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\engine_method_result.h(47): warning C4251: 'flutter_desktop_embedding::
internal::ReplyManager::reply_handler_': class 'std::function<void (const uint8_t *,size_t)>' needs to have dll-interface to be used by clients of c
lass 'flutter_desktop_embedding::internal::ReplyManager' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\engine_method_result.h(84): warning C4251: 'flutter_desktop_embedding::
EngineMethodResult<T>::reply_manager_': class 'std::unique_ptr<flutter_desktop_embedding::internal::ReplyManager,std::default_delete<_Ty>>' needs to
have dll-interface to be used by clients of class 'flutter_desktop_embedding::EngineMethodResult<T>' [C:\dev\flutter-desktop-embedding\library\wind
ows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\method_channel.h(93): warning C4251: 'flutter_desktop_embedding::Method
Channel<T>::name_': class 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' needs to have dll-interface to be used by clients of
class 'flutter_desktop_embedding::MethodChannel<T>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\method_call.h(46): warning C4251: 'flutter_desktop_embedding::MethodCal
l<T>::method_name_': class 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' needs to have dll-interface to be used by clients o
f class 'flutter_desktop_embedding::MethodCall<T>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\method_call.h(47): warning C4251: 'flutter_desktop_embedding::MethodCal
l<T>::arguments_': class 'std::unique_ptr<_Ty,std::default_delete<_Ty>>' needs to have dll-interface to be used by clients of class 'flutter_desktop
_embedding::MethodCall<T>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\method_call.h(46): warning C4251: 'flutter_desktop_embedding::MethodCal
l<T>::method_name_': class 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' needs to have dll-interface to be used by clients o
f class 'flutter_desktop_embedding::MethodCall<T>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
c:\dev\flutter-desktop-embedding\library\include\flutter_desktop_embedding\method_call.h(47): warning C4251: 'flutter_desktop_embedding::MethodCal
l<T>::arguments_': class 'std::unique_ptr<T,std::default_delete<_Ty>>' needs to have dll-interface to be used by clients of class 'flutter_desktop_e
mbedding::MethodCall<T>' [C:\dev\flutter-desktop-embedding\library\windows\GLFW Library.vcxproj]
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working