mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2024-11-08 00:37:15 +01:00
61 lines
2.4 KiB
Plaintext
61 lines
2.4 KiB
Plaintext
POCO C++ Libraries Windows Platform Notes
|
|
AAAIntroduction
|
|
|
|
!!!Introduction
|
|
|
|
The Windows versions of the POCO C++ Libraries are built with Visual Studio.
|
|
Basic support for building with MinGW is there as well, but at this time
|
|
is not officially supported and may or may not work.
|
|
|
|
Starting with release 1.10.0 the POCO C++ Libraries support new
|
|
build configurations in the solution files for Visual Studio 2015 and newer,
|
|
for building Win32 (32-bit) and x64 (64-bit) variants.
|
|
|
|
The following build configurations are available:
|
|
* debug_shared, release_shared: dynamic link libraries (DLL) and dynamically linked executables, with DLL C/C++ runtime libraries.
|
|
* debug_static_md, release_static_md: static libraries and statically linked executables with DLL C/C++ runtime libraries.
|
|
* debug_static_mt, release_static_mt: static libraries and statically linked executables with static runtime libraries.
|
|
|
|
|
|
!!!Libraries And Linking Considerations
|
|
|
|
!!Automatic Linking of POCO C++ Libraries
|
|
|
|
The POCO C++ Libraries header files contain <[#pragma comment]> directives that enable
|
|
automatic linking of the required POCO libraries to an application. For this to work,
|
|
a few rules must be kept in mind.
|
|
|
|
* The default is to link the POCO C++ Libraries dynamically (DLL).
|
|
* To link statically, the code using the POCO C++ Libraries must be compiled
|
|
with the preprocessor symbol <[POCO_STATIC]> defined.
|
|
|
|
|
|
!!Library Naming Conventions
|
|
|
|
The following naming conventions are used:
|
|
|
|
* DLL import libraries are named PocoLIB.lib for the release build
|
|
and PocoLIBd.lib for the debug build.
|
|
* Static libraries built using the static multithreaded C/C++ runtime libraries
|
|
are named PocoLIBmt.lib (release) and PocoLIBmtd.lib (debug).
|
|
* Static libraries built using the DLL C/C++ runtime libraries are
|
|
named PocoLIBmd.lib (release) and PocoLIBmdd.lib (debug).
|
|
|
|
32-bit libraries are placed in the <*lib*> directory. 64-bit libraries
|
|
are placed in the <*lib64*> directory. DLLs are placed in <*bin*> (32-bit)
|
|
or <*bin64*> (64-bit). 64-bit DLLs are named PocoLIB64.dll for release
|
|
and PocoLIB64d.dll for debug, respectively.
|
|
|
|
|
|
!!MSVC Compiler Notes
|
|
|
|
!!!C++ standard version not properly defined
|
|
|
|
In order to work around that, `/Zc:__cplusplus` compiler flag is necesary.
|
|
|
|
See following issues for details and explanations:
|
|
|
|
* https://github.com/pocoproject/poco/issues/3665
|
|
* https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/
|
|
|