2016-04-27 25 views
1

最終的には、Windows上でApacheからAPRを必要とするものをコンパイルしようとしています。WindowsでApache APRをコンパイルする

編集:VS2013 & VS2014のVisual Studioコマンドラインツールを試してみてください。 SVNチェックアウトのための リンク404を示しています。私は3つのファイルをダウンロードした。このリンクhttp://apr.apache.org/compiling_win32.htmlからそうhttp://apr.apache.org/anonsvn.txt

...

。私はそれらを解凍し、示唆されたディレクトリ構造として名前を変更しました。

C: C \ \仕事\の4月: C \ \仕事\の4月-のiconv:\作業\のAPR-utilの\

は4月-utilのディレクトリに移動し、次を実行したコマンドを作成し、受信しました次のエラー。

「現在のバージョンのAPRにはawkは必要ありません...」というコメントがありますが、リンクは機能しません。重要ですか?

誰もがこれをコンパイルする運がありません。他のlib/include/objectsが必要ですか?

のnmake -f Makefile.win BUILDALL checkallすべてインストールクリーン

は、次のエラーを受信:

<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. 

答えて

1

のapache-4月プロジェクトのサイトから、見出しの下に:

Developer Studioのワークスペースを/ Microsoft開発環境IDEビルド::

apr-util/aprutil.dswを開きます。ワークスペースを開き、リリースまたはデバッグビルドをアクティブプロジェクトとして使用してaprutilまたはlibaprutil(スタティックライブラリまたはダイナミックライブラリの場合)を選択します。 aprutil.dswを実行すると、関連するすべてのプロジェクトがビルドされます。

たぶん、あなたはこの文を見落とし:アクティブなプロジェクトをビルドすると...アクティブプロジェクトとしてaprutilまたはlibaprutilのいずれか

を選択してください。

0

少し遅れましたが、ここで私はそれを修正しました。

$(SILENT)link $(ALL_LDFLAGS) $*.obj $(API_LIBS) /out:[email protected] \ 

からビルド\ modules.mk.winメイクファイルの変更ライン221で

$(SILENT)link $(ALL_LDFLAGS) $*.obj $(MODRES).obj $(API_LIBS) /out:[email protected] \ 

に共有ライブラリのターゲットは、今読んでます:

.c{$(OUTPUT_DIR)}.so: 
$(SILENT)cl $(ALL_CFLAGS) /Fo$*.obj /Yuiconv.h /c $< 
$(SILENT)link $(ALL_LDFLAGS) $*.obj $(MODRES).obj $(API_LIBS) /out:[email protected] \ 
    /base:@"..\build\BaseAddr.ref",$(@F) 
$(SILENT)if exist [email protected] \ 
    $(SILENT)mt -nologo -manifest [email protected] -outputresource:[email protected];2 \ 
    & del "[email protected]" 
$(SILENT)del "$*.exp" & del "$*.lib" 

出典: https://gist.github.com/mkhon/01a1536b01e0065ae799

関連する問題