下载源码看了下,一共两处,其实是1处。
代码的意图就是,必须有依赖不开启异常的 wxWidgets,来编译FreeFileSysnc.
因为作者要处理内存不足的异常。被吞掉就无法处理了。
你得自己编译一份wxWidgets.
FreeFileSync-13.1>rg wxUSE_EXCEPTIONS
FreeFileSync\Source\RealTimeSync\application.cpp
214:#if wxUSE_EXCEPTIONS
FreeFileSync\Source\application.cpp
248:#if wxUSE_EXCEPTIONS
int Application::OnRun()
{
try
{
#if wxUSE_EXCEPTIONS
#error why is wxWidgets uncaught exception handling enabled!?
#endif
[[maybe_unused]] const int rc = wxApp::OnRun();
}
catch (const std::bad_alloc& e) //the only kind of exception we don't want crash dumps for
{
notifyAppError(utfTo<std::wstring>(e.what()));
terminateProcess(static_cast<int>(FfsExitCode::exception));
}
//catch (...) -> Windows: let it crash and create mini dump!!! Linux/macOS: std::exception::what() logged to console
return static_cast<int>(FfsExitCode::success); //process exit code
}
【 在 easior 的大作中提到: 】
: FreeFileSync 13.1 在 Fedora 41 上编译
: 看了其他rpm系统的 spec,都是老版本,需要不同的补丁
:
--
FROM 124.114.151.*