大家。我尝试使用 CMake 和 MinGW 编译器构建 POCO C++ 库,但在 POCO Thread_WIN32.cpp 文件(Picrealted)中收到语法错误。我认为它在某种程度上与编译器的确切版本 posix-sjlj 有关。有人遇到过这个问题吗
设置:
更新1
我尝试了另一个版本的MinGW-w64(MinGW-W64 x86_64-posix-seh-rev0 8.1.0),但它也不起作用。我还有另一个问题:也许编译器只是让它正常工作?在 POCO GitHub 的 Thread_WIN32.cpp 文件中,setThreadName 函数中 __except 之前没有 __catch。为什么?不是应该有吗?
更新2 好吧,在 __try 之后不应该是 __catch,在 __try 后面跟着 __ except 就这样了。这是微软自己处理错误的方式——SEH。但我想知道是否有某种方法可以正确使用 MinGW-w64 编译器和 SEH。我在MinGW中读到了__try1和__ except1,但是网上说这可能不安全并且非常痛苦
因此,我尝试了 MinGW-w64 编译器的一些不同变体,但它不起作用。我决定使用 Microsoft Build Tools 下载 MSVC 编译器,它运行得很好,所有库都已编译