The POCO C++ Libraries are powerful cross-platform C++ libraries for building network- and internet-based applications that run on desktop, server, mobile, IoT, and embedded systems.
1, the website
pocoproject.org/index.html
pocoproject.org/releases/
Github.com/pocoproject…
2, tutorials,
Blog.csdn.net/walk_and_th… VS2013 installation
Blog.csdn.net/arau_sh/col…
Blog.csdn.net/m1109048058… MFC cannot find API after introducing POCO library
The POCO library was added to the MFC project, causing some methods in the MFC not to be found. Such as:
Error C3861: GetObject: The identifier cannot be found
Error C3861: "CreateFile" : The identifier cannot be found
Solutions:
This is explained in the comments section of the Foundation include Poco unwindows.h file. 2. Add variables to the VC++ property page precompiled header using POCO_NO_UNWINDOWS macros:
_CRT_SECURE_NO_WARNINGS
POCO_NO_UNWINDOWS
Recommended Method 1
Also, pay more attention
\Foundation\include\Poco\ config. h, which has C++11 switch
// without POCO_WIN32_UTF8 defined on Windows is deprecated. //#define POCO_WIN32_UTF8 // Define to enable C++11 support #define POCO_ENABLE_CPP11
\Foundation\include\Poco\Platform_WIN32.h
3. How I compile
(1) New empty project
(2) Manually add the library you need
4. Memory leakage problems I encountered when using MFC:
Bbs.csdn.net/topics/3926…
I am using the POCO library in MFC, STD :string has a memory leak, the solution is: Build POco with MFC Extension DLLs projects, not the Windows DLL, Then it can be used with VC++/MFC refer to github.com/pocoproject…
In plain English, it is
(1) PoCO project property page, general, use OF MFC, select “Use MFC in shared DLL”.
(2) PoCO project property page, linker, input, attach dependency library, add advapi32.lib
Advapi32.lib is important to compile otherwise:
1> Generating code… 1> Creating library.. \lib\PocoFoundationd. Lib and objects.. \lib\PocoFoundationd.exp 1>EventLogChannel.obj : error LNK2019: Cannot resolve __imp__DeregisterEventSource @ 4 external symbols, the symbol in the function of “public: virtual void __thiscall Poco: : EventLogChannel: : close (void)” (? 1> eventLogchannel. obj: error LNK2019: Cannot resolve the external symbol of __imp__RegisterEventSourceA @ 8, the symbol in the function “public: virtual void __thiscall Poco: : EventLogChannel: : open (void)” (? 1> eventLogchannel. obj: error LNK2019: Unparsed external symbol __imp__ReportEventA@36 in function “public: virtual void __thiscall Poco::EventLogChannel::log(class Poco::Message const &)” (? 1> eventLogchannel. obj: error LNK2019: Unparsed external symbol __imp__RegCloseKey@4 in function __catch$?? 1> eventLogchannel. obj: error LNK2019: Unparsed external symbol __imp__RegCreateKeyExA@36 in function __catch$?? 1> eventLogchannel. obj: error LNK2019: Unparsed external symbol __imp__RegSetValueExA@24 in function __catch$?? 1EventLogChannel@Poco@@MAE@XZ$0 where quoted 1> randomstream. obj: error LNK2019: Unparsed external symbol __imp__CryptAcquireContextA@20 in function “public: virtual int __thiscall Poco::RandomBuf::readFromDevice(char *,__int64)” (? readFromDevice@RandomBuf @poco @@UAEHPAD_J@Z) 1> randomstream. obj: error LNK2019: Unparsed external symbol __imp__CryptReleaseContext@8 in function “public: virtual int __thiscall Poco::RandomBuf::readFromDevice(char *,__int64)” (? readFromDevice@RandomBuf @poco @@UAEHPAD_J@Z) 1> randomstream. obj: error LNK2019: Unparsed external symbol __imp__CryptGenRandom@12 in function “public: virtual int __thiscall Poco::RandomBuf::readFromDevice(char *,__int64)” (? readFromDevice@RandomBuf @poco @@UAEHPAD_J@Z) 1>.. \bin\PocoFoundationd. DLL: fatal error LNK1120: 9 unparseable external commands 1> Foundation_vs140.vCXproj completed – failed.
—
An aside:
1, introduce a domestic C++ library: ACL, cross-platform, large and complete
One advanced C/C++ library for Linux, Mac, FreeBSD, Solaris(x86), Windows, Android, IOS
github.com/acl-dev/acl
blog.csdn.net/zsxxsz
zsxxsz.iteye.com/
C++ library complete
Github.com/fffaraz/awe…