我正试图将pgbouncer编译用于运行在Windows Server 2008中的PostgreSQL服务器上。然而,我无法编译dll,并且相同的错误出现在Linux(Ubuntu)和Windows中:
查找libevent... 配置:错误:未找到:无法继续
我正在遵循这个如何操作。我已经使用mingw在Windows中编译了libevent并将生成的dll复制到System32、SysWOW64甚至自己的pgbouncer目录中。我做错了什么吗?
configure
正在检查软件包构建是否可以链接libevent
库。为此,它需要确保满足libevent
开发依赖关系。它不仅检查libevent
本身是否可以找到进行链接,还要检查编译器能否找到头文件<event.h>
(确切地说是这样的)。
为了使configure
成功,您必须确保:
位于您的libevent
软件包中的event.h
可在编译器的默认或配置的包含搜索路径中找到。
位于您的libevent
软件包中的二进制文件可在链接器的默认或配置的库搜索路径中找到。
在您所参考的HowTo的开头附近,您会看到configure
接受一个参数--with-libevent=libevent-prefix
,这可以使其变得容易。./configure --help
显示:
--with-libevent=prefix Specify where libevent is installed
libevent-dev
。在Ubuntu中,您也可以从软件包管理器中安装pgbouncer
,但也许您想要最新版本。您需要安装libevent-devel,它提供了两个event.h文件:
# find / -name event.h 2>/dev/null
/usr/include/event.h
/usr/include/event2/event.h
安装请执行以下命令:
yum install libevent-devel.x86_64
C:\Windows
目录下。这种做法极其糟糕,应该尽量避免。 - rubenvb