0

在我们的其中一台服务器上,pgAgent服务没有以消息开头"ERROR: Couldn't register event handle"(请参阅DBA 问题)。所以我决定从源代码编译二进制文件,以进一步调查问题。

我安装了Visual Studio Community 2017 Edition。我下载了 pgagent 源代码 3.4.0并解压到F:\pgbuild\pgAgent-3.4.0. 我下载了wxWidgets 2.8,解压F:\pgbuild\wxWidgets并使用 Visual Studio 2017 构建。我指出了这些变量

wxMSW=F:\pgbuild\wxWidgets
WXWIN=F:\pgbuild\wxWidgets
PGDIR=C:\Program Files\PostgreSQL\9.6
WIX=C:\Program Files (x86)\WiX Toolset v3.11\

然后我尝试编译pgAgent。Visual Studio 可以识别它的 CMake 项目。当我编译 cmake 项目时,我得到一个错误:

Severity    Code    Description Project File    Line    Suppression State
Error   C1083   Cannot open include file: '../../../lib/vc_lib/mswd/wx/setup.h': No such file or directory  F:\pgbuild\pgAgent-3.4.0\CMakeLists.txt F:\pgbuild\wxWidgets\include\msvc\wx\setup.h    123

网上有很多关于这个问题的网址,但我无法处理它。

在我看来,这段代码需要更新:

#ifdef wxSUFFIX
    #define wxSETUPH_PATH \
        wxCONCAT6(../../../lib/, wxLIB_SUBDIR, /, wxTOOLKIT_PREFIX, wxSUFFIX, /wx/setup.h)
#else // suffix is empty
    #define wxSETUPH_PATH \
        wxCONCAT5(../../../lib/, wxLIB_SUBDIR, /, wxTOOLKIT_PREFIX, /wx/setup.h)
#endif

wx_vc15.sln我使用in构建了 wxWidgets F:\pgbuild\wxWidgets\build\msw。我试图将 pgAgent 构建为 CMake 项目,尽管构建说明说我需要使用 CMake 的 GUI 版本。

我按照说明进行构建pgAdmin,但现在我想知道是否需要构建 pgAdmin(不要将它与 pgAgent 混为一谈)。

有什么建议吗?

更新:

为 Windows 安装了 CMake,并为F:/pgbuild/pgAgent-3.4.0/build. 返回了一些错误行:

Cmake 截图

然后单击configure,然后单击gnerate。这创建了 Visual Studio 项目文件。尝试构建它,得到上面的错误(wx/setup.h:没有这样的文件或目录)。确切的错误是

Severity    Code    Description Project File    Line    Suppression State
Error   C1083   Cannot open include file: '../../../lib/vc_dll/mswd/wx/setup.h': No such file or directory  pgagent f:\pgbuild\wxwidgets\include\msvc\wx\setup.h    123 
4

0 回答 0