Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 当代码不可移植或32位不友好时,如何使用MinGW在Windows上编译libs3?_C_Gcc_Amazon S3_Makefile_Mingw - Fatal编程技术网

C 当代码不可移植或32位不友好时,如何使用MinGW在Windows上编译libs3?

C 当代码不可移植或32位不友好时,如何使用MinGW在Windows上编译libs3?,c,gcc,amazon-s3,makefile,mingw,C,Gcc,Amazon S3,Makefile,Mingw,在使用MinGW在Windows系统上编译libs3()时,我们遇到了一系列问题 代码似乎不是可移植的或不是32位友好的。我偶然发现了这个错误:。似乎我们必须深入研究libs3代码并修复它,以便使用MingW进行编译。不确定是否有一个版本的MingW可以避免这种情况或解决这种情况(似乎这种行为是由MingW团队设计的) 我们试图用libs3解决代码问题,但没有成功。修复一个部件时,会弹出另一个部件(即使有LIB也找不到),等等 特别是以下MinGW Makefile代码: #libs3库目标 L

在使用MinGW在Windows系统上编译libs3()时,我们遇到了一系列问题

代码似乎不是可移植的或不是32位友好的。我偶然发现了这个错误:。似乎我们必须深入研究libs3代码并修复它,以便使用MingW进行编译。不确定是否有一个版本的MingW可以避免这种情况或解决这种情况(似乎这种行为是由MingW团队设计的)

我们试图用libs3解决代码问题,但没有成功。修复一个部件时,会弹出另一个部件(即使有LIB也找不到),等等

特别是以下MinGW Makefile代码: #libs3库目标

LIBS3_SHARED = $(BUILD)/bin/libs3.dll
LIBS3_STATIC = $(BUILD)/lib/libs3.a

.PHONY: libs3
libs3: $(LIBS3_SHARED) $(BUILD)/lib/libs3.a

LIBS3_SOURCES := src/acl.c src/bucket.c src/error_parser.c src/general.c \
                 src/object.c src/request.c src/request_context.c \
                 src/response_headers_handler.c src/service_access_logging.c \
                 src/service.c src/simplexml.c src/util.c src/mingw_functions.c

$(LIBS3_SHARED): $(LIBS3_SOURCES:src/%.c=$(BUILD)/obj/%.o)
    $(QUIET_ECHO) $@: Building dynamic library
    - @ mkdir $(subst /,\,$(dir $@)) 2>&1 | echo >nul
    $(VERBOSE_SHOW) gcc -shared -o $@ $^ $(LDFLAGS) -lws2_32

$(LIBS3_STATIC): $(LIBS3_SHARED)
    $(QUIET_ECHO) $@: Building static library
    - @ mkdir $(subst /,\,$(dir $@)) 2>&1 | echo >nul
    $(VERBOSE_SHOW) dlltool --def mswin\libs3.def --dllname $(subst /,\,$<) \
            --output-lib $(subst /,\,$@)
LIBS3\u SHARED=$(BUILD)/bin/LIBS3.dll
LIBS3_STATIC=$(构建)/lib/LIBS3.a
.冒牌货:libs3
libs3:$(libs3_共享)$(构建)/lib/libs3.a
LIBS3_SOURCES:=src/acl.csrc/bucket.csrc/error_parser.csrc/general.c\
src/object.csrc/request.csrc/request\u context.c\
src/response\u headers\u handler.c src/service\u access\u logging.c\
src/service.csrc/simplexml.csrc/util.csrc/mingw_functions.c
$(LIBS3_共享):$(LIBS3_源代码:src/%.c=$(构建)/obj/%.o)
$(安静的回声)$@:构建动态库
-@mkdir$(subst/,\,$(dir$@))2>&1|echo>nul
$(详细显示)gcc-shared-o$@$^$(LDFLAGS)-lws2\u 32
$(LIBS3\u静态):$(LIBS3\u共享)
$(安静的回声)$@:构建静态库
-@mkdir$(subst/,\,$(dir$@))2>&1|echo>nul
$(详细显示)dlltool--def mswin\libs3.def--dllname$(subst/,\,$mingw32 make-f D:\libs3-2.0\libs3-2.0\GNUmakefile.mingw安装
mingw32 make:*没有规则使目标“build/bin/libs3.dll”需要“build/obj/acl.o”。停止