[英]Compile Apache APR on Windows
最终结果是我试图在Windows上编译需要Apache的APR的东西。
编辑:尝试VS2013和VS2014的Visual Studio命令行工具。 SVN结账的链接显示404: http : //apr.apache.org/anonsvn.txt
所以...
从这个链接http://apr.apache.org/compiling_win32.html我已经下载了这三个文件。 我解压缩它们并将它们重命名为建议的目录结构。
C:\\ work \\ apr \\ C:\\ work \\ apr-iconv \\ C:\\ work \\ apr-util \\
移动到apr-util目录并运行以下make命令并收到以下错误。
请注意,有关“APR的当前版本不需要awk ...”的评论但该链接不起作用,这有关系吗?
任何人都有运气编译,我还需要其他lib / include / objects吗?
nmake -f Makefile.win buildall checkall installall clean
收到以下错误:
<clip>
rc.exe /l 0x409 /fo".\Release\libapriconv.res" /i "./include" /i "../apr/include" /d "NDEBUG" /d "API_VERSION_ONLY" .\libapriconv.rc
Microsoft (R) Windows (R) Resource Compiler Version 6.3.9600.17336
Copyright (C) Microsoft Corporation. All rights reserved.
link.exe @C:\Users\JOHNAT~1\AppData\Local\Temp\nm390A.tmp
Creating library .\Release\libapriconv-1.lib and object .\Release\libapriconv-1.exp
if exist .\Release\libapriconv-1.dll.manifest mt.exe -manifest .\Release\libapriconv-1.dll.manifest -outputresource:.\Release\libapriconv-1.dll;2
echo Helper for Post-build step > ".\Release\postbld.dep"
cd ccs
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\nmake.exe" -nologo -f Makefile.win all BUILD_MODE="Win32 Release" BIND_MODE=shared adobe-stdenc.c
Creating library ..\Release\iconv\adobe-stdenc.lib and object ..\Release\iconv\adobe-stdenc.exp
adobe-stdenc.obj : error LNK2011: precompiled object not linked in; image may not run
..\Release\iconv\adobe-stdenc.so : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\link.EXE"' : return code '0x460'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
这有点晚了,但这是我修复它的方法。
在build \\ modules.mk.win makefile中更改行221
$(SILENT)link $(ALL_LDFLAGS) $*.obj $(API_LIBS) /out:$@ \
至
$(SILENT)link $(ALL_LDFLAGS) $*.obj $(MODRES).obj $(API_LIBS) /out:$@ \
共享库目标现在将显示为:
.c{$(OUTPUT_DIR)}.so:
$(SILENT)cl $(ALL_CFLAGS) /Fo$*.obj /Yuiconv.h /c $<
$(SILENT)link $(ALL_LDFLAGS) $*.obj $(MODRES).obj $(API_LIBS) /out:$@ \
/base:@"..\build\BaseAddr.ref",$(@F)
$(SILENT)if exist $@.manifest \
$(SILENT)mt -nologo -manifest $@.manifest -outputresource:$@;2 \
& del "$@.manifest"
$(SILENT)del "$*.exp" & del "$*.lib"
从标题下的apache-apr项目站点:
Developer Studio工作区/ Microsoft开发环境IDE Build ::
打开apr-util / aprutil.dsw工作空间,选择aprutil或libaprutil(对于静态或动态库),将Release或Debug构建作为Active Project。 aprutil.dsw导致构建所有相关项目。
也许你忽略了这句话: 选择aprutil或libaprutil作为Active Project ......
然后构建活动项目。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.