0

コンパイル済みwinxpで展開されたpythonスクリプトを作成しました。libmingw+msysを呼び出します。libeventユーザーがこれ以上ライブラリをインストールしないことを願っているので、静的にコンパイルしたいのですが、エラーがあります。以下は、コンパイルしてインストールする私のプロセスlibeventです。

​./configure -prefix=D:/libevent -enable-static
make
make install  

2 つの makefile を書きましたが、同じエラーが発生します。

libevent.a(buffer.o):In function 'evbuffer_read':undefined reference to 'WSARecv@28' 
libevent.a(buffer.o):In function 'evbuffer_write_iovec':undefined reference to 'WSASend@28' 
........................

メイクファイルは次のとおりです。

メイクファイル 1

HEAD_PATH_FLAGS=-IC:/Python27/include -ID:/boost/include/boost-1_52 -ID:/libevent/include
LIB_PATH_FLAGS=-LD:/boost/lib -LD:/libevent/lib -LC:/Python27/libs
LIB_FLAGS=-lboost_python-mgw46-s-1_52 -Wl,Bstatic -levent -Wl,Bdynamic -lpython27 -lwsock32
SOURCE=test.o 
all:${SOURCE}
g++ ${HEAD_PATH_FLAGS} ${SOURCE} ${LIB_PATH_FLAG} ${LIB_FLAGS} -fPIC -shared -o test.dll

メイクファイル 2

HEAD_PATH_FLAGS=-IC:/Python27/include -ID:/boost/include/boost-1_52 -ID:/libevent/include
LIB_PATH_FLAGS=-LD:/boost/lib -LD:/libevent/lib -LC:/Python27/libs
LIB_FLAGS=-lboost_python-mgw46-s-1_52 -lpython27 -lwsock32
SOURCE=test.o D:/libevent/lib/libevent.a
all:${SOURCE}
g++ ${HEAD_PATH_FLAGS} ${SOURCE} ${LIB_PATH_FLAG} ${LIB_FLAGS} -fPIC -shared -o test.dll

なぜこれが起こるのですか?これをエラーなしでコンパイルするにはどうすればよいですか?

4

1 に答える 1

4

そこに定義されているようにlibws2_32.a、にリンクする必要があります。リンカー コマンドに追加します。WSASendWSARecv-lws2_32

于 2013-01-11T19:40:54.133 に答える