рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рд╕реЗ рдХреНрд░реЙрд╕-рд╕рдВрдХрд▓рди рдкреЛрдХреЛ

POCO C ++ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдПрдХ рд╣рд▓реНрдХрд╛, рдмрд╣реБ-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдУрдкрди-рд╕реЛрд░реНрд╕ рд╕реЗрдЯ рд╣реИ рдЬреЛ рдорд▓реНрдЯреА-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред

рдмреВрд╕реНрдЯ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рдЙрдкрд▓рдмреНрдз рд╣реИред

POCO рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА:

pocoproject.org/features.html

ru.wikipedia.org/wiki/POCO

рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдВрдЧрдард┐рдд рд╡рд░реНрдЧ рд╕рдВрд░рдЪрдирд╛ рдкреНрд░рд▓реЗрдЦрди рдПрдЪрдЯреАрдПрдордПрд▓-рдСрдирд▓рд╛рдЗрди, рдПрдЪрдЯреАрдПрдордПрд▓-рдСрдлрд╝рд▓рд╛рдЗрди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред

рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдкреНрд░рд▓реЗрдЦрди - рдкреАрдбреАрдПрдл рдореЗрдВ: pocoproject.org/documentation/index.html



POCO рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдореАрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ - рдмрд╣реБрдд рдХреБрдЫ - рд╕рдм рдХреБрдЫ, рдПрдХ рд╕реА ++ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рд╕реБрдЦреА рдЬреАрд╡рди рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЬреЛ рдХреБрдЫ рднреА рдЪрд╛рд╣рд┐рдП! рдЯреВрд▓рдХрд┐рдЯ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдПрдХ рд╕реБрд╡рд┐рдЪрд╛рд░рд┐рдд рдПрдкреАрдЖрдИ рд╣реИред



POCO рд╕рд╣рд┐рдд рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдбреЗрд╕реНрдХрдЯреЙрдк рд╡рд┐рдВрдбреЛрдЬ, рд╡рд┐рдВрдбреЛрдЬ рд╕реАрдИ, рд▓рд┐рдирдХреНрд╕ред



рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрднрд╡ рд╕реЗ, рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ POCO рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдЗрди OS рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдореИрдВ рдЗрди рдУрдПрд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рд╕реЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЕрд╕реЗрдВрдмрд▓реА рдХреА рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рд╕реЗ рдЕрд╡рдЧрдд рдХрд░рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рдкреНрд░рд┐рдп рд╕реА ++ рдбреЗрд╡рд▓рдкрд░реНрд╕, рдЕрдкрдиреЗ рддреАрди рд▓реЗрдЦреЛрдВ рдореЗрдВ "рд╡рд┐рдВрдбреЛрдЬ рд╕реЗ рдХреНрд░реЙрд╕-рдХрдВрдкрд╛рдЗрд▓ рдкреАрдУрд╕реАрдУ"ред



WinCE рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рд╕реЗ рдЕрдиреБрдЪреНрдЫреЗрдж "рдХреНрд░реЙрд╕-рдХрдВрдкрд╛рдЗрд▓ рдкреЛрдХреЛ" habrahabr.ru/post/223157



рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рд╕реЗ рдХреНрд░реЙрд╕-рдХрдВрдкрд╛рдЗрд▓ POCO



рд╡рд┐рдзрд┐ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЧрдИ рдереА:

- рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЯреЛрдЪреЗрди рд╕реНрдкрд╛рдпрд░ рдЯрд░реНрдорд┐рдирд▓ (ARM9) рдХреЗ рд▓рд┐рдП

- рд╡рд┐рдВрдбреЛрдЬ 7 64 рд╣реЛрд╕реНрдЯ рдорд╢реАрди

- POCO рдмреЗрд╕рд┐рдХ рдПрдбрд┐рд╢рди 1.4.6p4



рдбрд╛рдпрдиреЗрдорд┐рдХ рдХрдиреЗрдХреНрд╢рди (рдкрд░рд┐рдгрд╛рдо - *.so



рдлрд╝рд╛рдЗрд▓реЗрдВ) рдпрд╛ рд╕реНрдерд┐рд░ рдХрдиреЗрдХреНрд╢рди (рдкрд░рд┐рдгрд╛рдо - *.a



рдлрд╝рд╛рдЗрд▓реЗрдВ) рдХреЗ рд▓рд┐рдП POCO рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВред



POCO рдХреА рддреИрдпрд╛рд░реА


POCO рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рддреИрдпрд╛рд░ рдХрд░реЗрдВ:

- рдореВрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдирд╡реАрдирддрдо рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ POCO рд╕рдВрдЧреНрд░рд╣ pocoproject.org/download/index.html рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред рдмрдЯрди "рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд, рдУрдПрд╕ рдПрдХреНрд╕, рдЖрджрд┐" рджреНрд╡рд╛рд░рд╛ред рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рдкреБрд░рд╛рд▓реЗрдЦ poco-1.4.6p4.tar.gz рд╣реИ

- рдПрдХ рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдЦреЛрд▓рдирд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, WinRAR рдФрд░ C рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ: / poco/poco-1.4.6p4ред



рдпреВрдирд┐рдХреНрд╕ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╡рд┐рд╡рд░рдг рдлрд╝рд╛рдЗрд▓ рддреИрдпрд╛рд░ рдХрд░реЗрдВред

рдЗрд╕ рдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдЯреВрд▓рдЪреЗрди рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдФрд░ рдЗрдорд╛рд░рдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдирд╛рдо)

- рдлрд╝рд╛рдЗрд▓ "ARM-Linux" рдХреЛ C: /poco/poco-1.4.6p4/build/config/ рдореЗрдВ рдЦреЛрдЬреЗрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдирд╛рдо рд╕реЗ рдХреЙрдкреА рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрд╛ рдирд╛рдоред рдореИрдВрдиреЗ ARM-Linux-Spire рдирд╛рдо рджрд┐рдпрд╛ рд╣реИред

рдЪреЗрддрд╛рд╡рдиреА! рдпрд╣ рдирд╛рдо "POCO рдЕрд╕реЗрдВрдмрд▓реА" рдЪрд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЕрд╕реЗрдВрдмрд▓реА рд╡рд┐рд╡рд░рдг рдлрд╝рд╛рдЗрд▓ рдФрд░ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реА рдХреА рдЬрд╛рдирдХрд╛рд░реА: http://pocoproject.org/docs/99150-GMakeBuildNotes.html





рд╣рдорд╛рд░реЗ ARM-Linux рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ - *** рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ (рдореИрдВрдиреЗ рдиреЛрдЯрдкреИрдб ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛):

1) STLPORT_INCLUDE= , STLPORT_LIB= , OPENSSL_INCLUDE= , CFLAGS=



рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬреЗрдВ рдФрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВред рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

#STLPORT_INCLUDE = /usr/local/include/stlport







#STLPORT_LIB = /usr/local/lib







#OPENSSL_INCLUDE = /usr/local/arm/2.95.3/include







#OPENSSL_LIB = /usr/local/arm/2.95.3/lib







#CFLAGS = -Isrc







2) SYSFLAGS =



рд╕реЗ - SYSFLAGS =



-I$(STLPORT_INCLUDE) -I$(OPENSSL_INCLUDE)





рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

#SYSFLAGS = -I$(STLPORT_INCLUDE) -I$(OPENSSL_INCLUDE) -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_REENTRANT -D_THREAD_SAFE -DPOCO_NO_FPENVIRONMENT







SYSFLAGS = -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_REENTRANT -D_THREAD_SAFE -DPOCO_NO_FPENVIRONMENT







3) SYSLIBS =



-L$(STLPORT_LIB) -L$(OPENSSL_LIB) -lstlport_arm-linux-gcc





рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

#SYSLIBS = -L$(STLPORT_LIB) -L$(OPENSSL_LIB) -lstlport_arm-linux-gcc -lpthread -ldl -lrt







SYSLIBS = -lpthread -ldl -lrt







4) рдЕрдкрдиреЗ рдЙрдкрдХрд░рдг рд╕реЗ рдЯреВрд▓рдСрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрди TOOL = arm-linux



рдФрд░ arm-linux



рдХреЛ рдмрджрд▓реЗрдВред

рдореИрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрджрд▓ рдЧрдпрд╛:

TOOL = arm-unknown-linux-gnu







рдЖрдорддреМрд░ рдкрд░, рдПрдХ рд▓рд┐рдирдХреНрд╕ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓рдЪреИрди рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред

рдпрд╣ GCC рд╕реБрдЗрдЯ ( en.wikipedia.org/wiki/GNU_Compiler_Collection ) рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИред



рдЙрдкрд╕рд░реНрдЧ рдХрд╛ рдирд╛рдо рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, / bin рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ *-gcc.exe



рдЬрд╛рдПрдВ рдФрд░ рдлрд╝рд╛рдЗрд▓ *-gcc.exe



рдпрд╛ *-g++.exe





рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдЯреВрд▓рдХрд┐рди рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ:

arm-unknown-linux-gnu-gcc.exe







arm-unknown-linux-gnu-g++.exe







, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдЯреВрд▓рдХрд┐рди рдХреЗ рд▓рд┐рдП рдЙрдкрд╕рд░реНрдЧ arm-unknown-linux-gnu



ред

5) рд▓рд╛рдЗрди POCO_TARGET_OSARCH = ARM



рдФрд░ рдПрдХ рдордирдорд╛рдирд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рджреМрд░рд╛рди рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореИрдВрдиреЗ рдордВрдЪ рдХреЗ рд╕рд╛рд░реНрдердХ рдирд╛рдо рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП POCO_TARGET_OSARCH = ARM_Spire



рдХрд╛ рдирд╛рдо рджрд┐рдпрд╛ред рдЗрд╕рд▓рд┐рдП, рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж, рдореЗрд░реА POCO рд▓рд╛рдЗрдмреНрд░реЗрд░реА C:\poco\poco-1.4.6p4\lib\Linux\ARM_Spire



ред

6) рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ:

рдпрджрд┐ рдЖрдк рдЧрддрд┐рд╢реАрд▓ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП POCO рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ:

LINKMODE



SHARED



рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

, рд▓реЗрдХрд┐рди рд╕реНрдереИрддрд┐рдХ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП:

LINKMODE



рдХреЛ STATIC



рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП



рдЙрдкрдХрд░рдг рддреИрдпрд╛рд░ рдХрд░рдирд╛


рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

- рдорд┐рдВрдЬ рдбрдмреНрд▓реНрдпреВрд╡рд╛рдИред рд╣рдо msys рд╢реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдореЗрд░рд╛ MinGW рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдПрд╕рдбреАрдХреЗ рдХреЗ рд╕рд╛рде рдЖрдпрд╛ рдерд╛, рдФрд░ рдЖрдк рдЗрд╕реЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ www.mingw.org рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

- рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рдХрдВрд╕реЛрд▓ред рд▓реЗрдЦрдХ рдиреЗ ConEmu x64 www.conemu.ru рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛



рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдПрдХ рдХрдВрд╕реЛрд▓ рдЦреЛрд▓реЗрдВ, рдЖрдЧреЗ рдХреЗ рд╕рднреА рдЪрд░рдг рдЗрд╕ рдХрдВрд╕реЛрд▓ рд╕реЗ рд╣реЛрдВрдЧреЗред



рдЯреЛрдЪрд┐рди / рдмрд┐рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ, рдЕрдкрдиреЗ рдЯреЛрдЪрд┐рди рд╕реЗ gcc рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВред рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рд╣реИ:

arm-unknown-linux-gnu-gcc -v





- рдЕрдЧрд░ рдпрд╣ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрде рдкрдВрдЬреАрдХреГрдд рдХрд░реЗрдВред рдореЗрд░рд╛ рд░рд╛рд╕реНрддрд╛ рдпрд╣ рд╣реИ:

set PATH=C:\Spire\SDT\TOOLCHAIN\20140226\bin;%PATH%





- рдлрд┐рд░ рд╕реЗ рдЯреЛрдЪрд┐рди рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ



рдореЗрдХ рдпреВрдЯрд┐рд▓рд┐рдЯреА рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:

make -v





- рдЕрдЧрд░ рдпрд╣ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрде рдкрдВрдЬреАрдХреГрдд рдХрд░реЗрдВред рдореЗрд░рд╛ рд░рд╛рд╕реНрддрд╛ рдпрд╣ рд╣реИ:

set PATH=C:\Spire\SDT\MinGW\bin;%PATH%





- рдлрд┐рд░ рд╕реЗ рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ



Msys рдХрдорд╛рдВрдб рд╢реЗрд▓ рджрд░реНрдЬ рдХрд░реЗрдВ, рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

sh





- рдЕрдЧрд░ рдпрд╣ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрде рдкрдВрдЬреАрдХреГрдд рдХрд░реЗрдВред рдореЗрд░рд╛ рд░рд╛рд╕реНрддрд╛ рдпрд╣ рд╣реИ:

set PATH=C:\Spire\SDT\MinGW\msys\1.0\bin;%PATH%







рдХреЙрдкреА-рдкреЗрд╕реНрдЯ + рдПрдордПрд╕рдЖрдИрдПрд╕ рд╢реЗрд▓ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдХрдВрд╕реЛрд▓ рд╕реЗ рдЖрдЧреЗ рдХреЗ рд╕рднреА рдЪрд░рдг рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ



рд╡рд░реНрддрдорд╛рди POCO рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗрдЯ рдХрд░реЗрдВ:

cd C:/poco/poco-1.4.6p4







POCO рд╡рд┐рдзрд╛рдирд╕рднрд╛


рдЕрд╕реЗрдВрдмрд▓реА (рдСрд░реНрдбрд░ рдХреЗ рд▓рд┐рдП) рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдк рд╡рд┐рдиреНрдпрд╛рд╕рдХрд░реНрддрд╛ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

./configure --help







POCO рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд░реЗрдВ:

./configure --config=ARM-Linux-Spire





рдпрд╛, рдкрд░реАрдХреНрд╖рдг рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдмрд┐рдирд╛ POCO рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

./configure --config=ARM-Linux-Spire --no-tests --no-samples





рдпрджрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рдлрд▓ рд╣реИ, рддреЛ рдРрд╕рд╛ рдХреБрдЫ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:

Configured for ARM-Linux-Spire







- рдирд┐рд░реНрдорд╛рдг POCO:

make





рдореЗрд░реЗ рдкреАрд╕реА рдкрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдФрд░ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде POCO рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХрд╛ рд╕рдордп (Intel i5 3.300Gz 8Gb) рдореЗрдВ 12 рдорд┐рдирдЯ рд▓рдЧреЗред



рдПрдХрддреНрд░рд┐рдд POCO рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ \lib\Linux



рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрдЧреА рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ POCO_TARGET_OSARCH



рдЪрд░ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдерд╛ред

рд╕рдВрдХрд▓рд┐рдд POCO рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рд░рд╛рд╕реНрддрд╛ рдпрд╣ рдирд┐рдХрд▓рд╛: C:\poco\poco-1.4.6p4\lib\Linux\ARM_Spire







рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рдПрдВ


рдореБрдЭреЗ рд╕реАрдзреЗ POCO рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдорд╕реНрдпрд╛рдПрдВ рдирд╣реАрдВ рдереАрдВ:

рд╕реНрдереИрддрд┐рдХ POCO рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ AtomicCounter



рд╡рд░реНрдЧ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рдереА

__sync_add_and_fetch, __sync_fetch_and_add, __sync_sub_and_fetch, __sync_fetch_and_sub





рд╕рдорд╛рдзрд╛рди: SYSFLAGS = ... -DPOCO_NO_GCC_ATOMICS



рдХреЗ рдПрдХ рдЕрд▓рдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SYSFLAGS = ... -DPOCO_NO_GCC_ATOMICS



рдореЗрдВ AtomicCounter



ред

- рд╕реНрдереИрддрд┐рдХ POCO рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдВрд╕реЛрд▓ рдХреЛ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

/lib/libgcc_s.so.1: version 'GCC_4.3.0' not found (required by )



рдпрд╣ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╣реЛрд╕реНрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рдФрд░ libgcc



рдкрд░ libgcc



рдЕрд╕рдорд╛рди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╣реИред рд╕рдорд╛рдзрд╛рди: libgcc



рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ libgcc



рд╕реЗ libgcc



ред



POCO рдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдПрдХ рдХрд╛рд░реНрдбрд┐рдирд▓ рддрд░реАрдХрд╛: POCO рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред



рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕реНрд░реЛрдд


"POCO C ++ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ GNU рдореЗрдХ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо" pocoproject.org/docs/99150-GMakeBuildNotes.html



***



рд░реЗрдбреА-рдореЗрдб C ++ рдЯреВрд▓ рд╣рдорд╛рд░реЗ рдХрд╛рдо рдХреЛ рдЕрдзрд┐рдХ рд╕реБрдЦрдж рдФрд░ рдЕрдзрд┐рдХ рдлрд▓рджрд╛рдпреА рдмрдирд╛рддреЗ рд╣реИрдВред рдЧреБрдб рд▓рдХ, рдкреНрд░рд┐рдп рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ!



рд╡реНрд▓рд╛рджрд┐рд╕реНрд▓рд╛рд╡ рдЦреЛрдЦрд░реАрдХреЛрд╡



All Articles