When targeting Windows SDK from the minGW C++ compiler, which GUI library are you accessing? Is it Windows Forms?
|
I don't use any components of .NET, Windows Forms, or WPF. All the functionality for doing anything that Windows is capable of doing is installed in dlls in \System32 such as user32.dll (user interface), gdi32.dll (graphics), kernel32.dll (tasking, memory management,the file system, etc). When you install the Windows SDK, one of the Visual Studio editions, or the Mingw compiler collection the necessary libraries to access the functionality contained within these core system dlls are also installed. Here I'm talking about the very lowest level abstractions you can code against. That's how I code. Coding that way I'm able to access any core Windows functionality such as COM (Component Object Model), OLE (Object Linking and Embedding), OLEDB, ODBC (Open Database Connectivity), or ADODB (ActiveX Data Objects), equally as well through Mingw or MSVC. Here are the C++ Command Line Compilation strings I am presently using for a major project I am working on now; first in Mingw x86 and x64, then MSVC....
1 2 3
|
// GCC g++ Command Line Compilation
// g++ SaleAdministration.cpp Strings.cpp CSql.cpp WordFunctions.cpp XLFunctions.cpp frmLogOn.cpp frmDBConnection.cpp frmWildlife.cpp frmSaleTracking.cpp frmProspectus.cpp frmBidOpening.cpp frmSysUtilities.cpp frmSecurity.cpp -lKernel32 -lgdi32 -luser32 -lole32 -loleaut32 -lodbc32 -luuid -oSaleAdministration.exe -mwindows -m64 -s -Os
// g++ SaleAdministration.cpp Strings.cpp CSql.cpp WordFunctions.cpp XLFunctions.cpp frmLogOn.cpp frmDBConnection.cpp frmWildlife.cpp frmSaleTracking.cpp frmProspectus.cpp frmBidOpening.cpp frmSysUtilities.cpp frmSecurity.cpp -lKernel32 -lgdi32 -luser32 -lole32 -loleaut32 -lodbc32 -luuid -oSaleAdministration.exe -mwindows -m32 -s -Os
|
MS VC++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
SaleAdministration.cpp
Strings.cpp
CSale.cpp
CSql.cpp
WordFunctions.cpp
XLFunctions.cpp
frmLogOn.cpp
frmDBConnection.cpp
frmWildlife.cpp
frmSaleTracking.cpp
frmProspectus.cpp
frmBidOpening.cpp
frmSysUtilities.cpp
frmSecurity.cpp
frmExtensions.cpp
Kernel32.lib
User32.lib
Gdi32.lib
odbc32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
Comctl32.lib
SaleAdmnRes.obj
/O1 /Os /MT /GA
|
In the above command line compuilation strings you can see such entities as 'kernel32.lib', 'odbc32.lib', etc. It is these libraries which allow me to call the Windows functions in their core system dlls. And as I said, this works just fine using the Microsoft C++ compiler or the GNU compiler.
But what you are talking about with such Microsoft specific technologies as .NET, Windows Forms, WPF, CLR, etc., are Microsoft specific OOP based encapsulations/abstractions of these core system capabilities which I asm using directly in the manner I described above. If you plan to utilize any of these Microsoft specific libraries its likely you'll have to stick to the Microsoft compiler. I'm not 100% sure of that, but fairly certain. Since I don't code that way is the reason I'm leaving some doubt. Perhaps someone else here may know better. If so - jump in.