Пытаюсь собрать этот фреймворк для двух платформ(для Debian Linux взял бинарники), а вот для ARM-Linux и Win какие-то проблемы постоянно.
ARM сборка:Для работы использую кросскомпилятор от texas instruments он аналогичен codesoursey toolchain
Поправил конфиг ARM-Linux идущий в комплекте соотвествующим образом:
#
# $Id: //poco/1.4/build/config/ARM-Linux#2 $
#
# ARM-Linux
#
# Make settings for ARM Linux/gcc 2.95.3 (cross-compile, using STLport 4.6.2)
#
#
# General Settings
#
SDKPATH = /home/kopysov/ti-sdk-am3517/linux-devkit/arm-arago-linux-gnueabi/usr
LINKMODE ?= SHARED
POCO_TARGET_OSNAME = Linux
POCO_TARGET_OSARCH = ARM
#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
TOOL = arm-arago-linux-gnueabi
LIBPATH = $(SDKPATH)/lib/
INCLUDEPATH =$(SDKPATH )/include/
#
# Define Tools
#
CC = $(TOOL)-gcc
CXX = $(TOOL)-g++
LINK = $(CXX)
LIB = $(TOOL)-ar -cr
RANLIB = $(TOOL)-ranlib
SHLIB = $(CXX) -shared -Wl,-soname,$(notdir $@) -o $@
SHLIBLN = $(POCO_BASE)/build/script/shlibln
STRIP = $(TOOL)-strip
DEP = $(POCO_BASE)/build/script/makedepend.gcc
SHELL = sh
RM = rm -rf
CP = cp
MKDIR = mkdir -p
#
# Extension for Shared Libraries
#
SHAREDLIBEXT = .so.$(target_version)
SHAREDLIBLINKEXT = .so
#
# Compiler and Linker Flags
#
CFLAGS = -Isrc -mfpu=neon
CFLAGS32 =
CFLAGS64 =
CXXFLAGS =
CXXFLAGS32 =
CXXFLAGS64 =
LINKFLAGS =
LINKFLAGS32 =
LINKFLAGS64 =
STATICOPT_CC =
STATICOPT_CXX =
STATICOPT_LINK = -static
SHAREDOPT_CC = -fPIC
SHAREDOPT_CXX = -fPIC
SHAREDOPT_LINK = -Wl,-rpath,$(LIBPATH)
DEBUGOPT_CC = -g -D_DEBUG
DEBUGOPT_CXX = -g -D_DEBUG
DEBUGOPT_LINK = -g
RELEASEOPT_CC = -O2 -DNDEBUG
RELEASEOPT_CXX = -O2 -DNDEBUG
RELEASEOPT_LINK = -O2
#
# System Specific Flags
#
#SYSFLAGS = -I$(STLPORT_INCLUDE) -I$(OPENSSL_INCLUDE) -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_REENTRANT -D_THREAD_SAFE -DPOCO_NO_FPENVIRONMENT
SYSFLAGS = -I$(INCLUDEPATH) -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_REENTRANT -D_THREAD_SAFE -DPOCO_NO_FPENVIRONMENT
#
# System Specific Libraries
#
#SYSLIBS = -L$(STLPORT_LIB) -L$(OPENSSL_LIB) -lstlport_arm-linux-gcc -lpthread -ldl -lrt
SYSLIBS = -L$(LIBPATH) -lpthread -ldl -lrt
Не очень понятно можно ли использовать стандартную stl реализацию или обязательно использовать stlport...
сконфигурил:
./configure --no-test --no-examples --shared --config=ARM-Linux --prefix=/home/kopysov/projects/poco_build
Получаю вот такую ошибку:
-L/home/kopysov/projects/poco-1.4.3p1-all/lib/Linux/ARM -lpthread -ldl -lrt
/home/kopysov/ti-sdk-am3517/linux-devkit/bin/../lib/gcc/arm-arago-linux-gnueabi/4.5.3/../../../../arm-arago-linux-gnueabi/bin/ld: cannot open linker script file /home/kopysov/ti-sdk-am3517/linux-devkit/bin/../lib/gcc/arm-arago-linux-gnueabi/4.5.3/../../../../arm-arago-linux-gnueabi/lib/libgcc_s.so.1: [b][i]Too many open files[/i][/b]
collect2: ld returned 1 exit status
make[1]: *** [/home/kopysov/projects/poco-1.4.3p1-all/lib/Linux/ARM/libPocoFoundationd.so.12] Ошибка 1
make[1]: Leaving directory `/home/kopysov/projects/poco-1.4.3p1-all/Foundation'
make: *** [Foundation-libexec] Ошибка 2
Win:
Под винду пробовал собирать с помощью mingw32 с помощью msys и cygwin там вобще чертовщина твориться - сложности на этапе сборки openssl =(
Хотел бы использовать именно mingw32 так использую CodeBlocks (возможно цеплять gcc и ti mingw компиллеры)
Если у кого-то есть опыт сборки под винду прошу поделиться.