diff --git a/.vscode/settings.json b/.vscode/settings.json index cb70f56..71215e4 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,7 +6,8 @@ "vector": "cpp", "string.h": "c", "libpq-fe.h": "c", - "new": "cpp" + "new": "cpp", + "ostream": "cpp" }, "cmake.configureArgs": [ diff --git a/INSTALL.txt b/INSTALL.txt index be50ee3..ebeb76a 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -20,14 +20,31 @@ cmake --build . --config Release --target all -j 3 -- Могут быть проблемы с отсутствующем файлом файлом kwlist.h Его можно взять в исходниках Postgresql 15 и положить в include/parser/ -Могут быть проблемы с компиляцией JSON парсера. -Его можно исключить (как и эксперементальную часть с Git) добавление к переменной CXXFLAGS="-DNO_WXJSON_GIT" -Смотрите пример в INSTALL_EN.txt - ОС для сборки использовал «Альт Рабочая станция» 10 https://www.basealt.ru/alt-workstation/download#c1211 Редактировал и собирал на Visual Studio Сode +Сборка mingw (использоалась версия без установки llvm-mingw-20231128-msvcrt-ubuntu-20.04-x86_64) +------------ +MINGW=/home/sergey/mingw/llvm-mingw-20231128-msvcrt-ubuntu-20.04-x86_64 +1. сборка wxwidgets 3.2 + mkdir msw-build + cd msw-build + PATH=$MINGW/bin:$PATH + ../configure --host=x86_64-w64-mingw32 --with-msw + #Получим каталоги для #include + wxWidgets_INCLUDE_DIRS=`./wx-config --cxxflags` + + +2. сборка pgAdmin3 + указать в mingw-windows-x64.cmake пути к нужным dll (exp файлам) + mkdir build + cd build + cmake -DCMAKE_TOOLCHAIN_FILE=../mingw-windows-x64.cmake .. + cmake --build . --config Release --target all -j 5 -- + + + diff --git a/mingw-windows-x64.cmake b/mingw-windows-x64.cmake index 9719d68..1078eec 100644 --- a/mingw-windows-x64.cmake +++ b/mingw-windows-x64.cmake @@ -16,11 +16,11 @@ set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(WXWIN_LIB /home/sergey/wxWidgets-3.2.2.1/msw-build/lib ) - set(WXWIN /home/sergey/k/wxMSW-3.2.2 ) + set(WXWIN /home/sergey/wxWidgets-3.2.2.1 ) set(PGDIR /home/sergey/k/pg17 ) set(PGBUILD /home/sergey/k ) set(wxWidgets_LIBRARIES "-L${WXWIN_LIB} -lwx_mswu_xrc-3.2-x86_64-w64-mingw32.dll -lwx_mswu_qa-3.2-x86_64-w64-mingw32.dll -lwx_baseu_net-3.2-x86_64-w64-mingw32.dll -lwx_mswu_html-3.2-x86_64-w64-mingw32.dll -lwx_mswu_core-3.2-x86_64-w64-mingw32.dll -lwx_baseu_xml-3.2-x86_64-w64-mingw32.dll -lwx_baseu-3.2-x86_64-w64-mingw32.dll -lwx_mswu_aui-3.2-x86_64-w64-mingw32.dll -lwx_baseu_xml-3.2-x86_64-w64-mingw32.dll -lwx_mswu_stc-3.2-x86_64-w64-mingw32.dll") set(PGLIB "-L${PGDIR}/lib -lpq -lxml2") set(XSLTLIB "-L${PGBUILD}/libxslt/lib -lxslt") set(OTHERLIB " -lws2_32") -set(CMAKE_EXE_LINKER_FLAGS_INIT "-static-libgcc -static-libstdc++ -Wl,--subsystem,windows -mwindows ${wxWidgets_LIBRARIES} ${PGLIB} ${XSLTLIB} ${OTHERLIB}") +set(CMAKE_EXE_LINKER_FLAGS_INIT " -Wl,--subsystem,windows -mwindows ${wxWidgets_LIBRARIES} ${PGLIB} ${XSLTLIB} ${OTHERLIB}") diff --git a/pgAdmin3.cpp b/pgAdmin3.cpp index ad750db..3899958 100644 --- a/pgAdmin3.cpp +++ b/pgAdmin3.cpp @@ -270,11 +270,13 @@ void pgAdmin3::OnFatalException() { wxString err = "fatal error"; MyStackWalker sw(err); +#if wxUSE_ON_FATAL_EXCEPTION sw.WalkFromException(); wxLogError(err); wxMessageBox(err, "wxExcept", wxOK | wxICON_ERROR); #endif +#endif } bool pgAdmin3::OnInit() {