tur*_*anc 5 c++ gcc cygwin pthreads
我正在编译一个在 cygwin 上使用 pthreads 和 gcc(g++)的项目。就像我一直在 linux 上开发这个一样,我从来没有遇到任何问题。
但是现在,我无法编译使用某些 pthread 函数的代码,编译器抱怨这些函数没有声明。我意识到我的工具链 g++ (GCC) 5.4.0 附带的 pthread.h 保护了部分
#if __POSIX_VISIBLE >= 200112
Run Code Online (Sandbox Code Playgroud)
这些阻止了功能在 cygwin/windows 上可用。
我尝试搜索“__POSIX_VISIBLE”,但没有找到任何真正有用的信息。这实际上有什么作用,为什么?我认为只是 pthread 的某些部分无法在 Windows 上或在 cygwin 或其他任何地方工作。但是为什么在这种情况下只会阻塞一些pthread 呢?它甚至不会抱怨-pthread被使用。
我计划最终将所有 pthread 内容更改为 c++ 线程,但现在我只想编译它,以便我可以处理更直接的问题。如果我在 cygwin/windows 上这样做,有什么办法可以解决这个问题吗?
敬请关注/usr/include/sys/features.h
。
默认为 _GNU_SOURCE,包含所有内容。-std检查您的项目是否使用或限制定义ansi
| 归档时间: |
|
| 查看次数: |
1841 次 |
| 最近记录: |