问题描述
我正在尝试将一些头文件编译成一个模块,以便我可以使用此编译器选项测试它是否有效:
g++ -fmodules-ts -std=c++20 -c -x c++-system-header <file-name>
其中 <file-name>
是标头的名称,例如 string_view
。
然而,并不是所有的头文件都能和谐地工作,这个头文件列表不会因为常见的错误而编译,例如不一致的导入宏定义 NULL
、__stdcall
、指向类的递归延迟加载allocator
,以及在 vsnprintf
等范围内找不到的 I/O 函数。一些错误通常指向 <pthread.h>
和 <process.h>
c-headers。
<bitset>
<memory_resource>
<stdexcept>
<system_error>
<string>
<iterator>
<ranges>
<algorithm>
<execution>
<complex>
<random>
<locale>
<ios>
<istream>
<ostream>
<iostream>
<fstream>
<sstream>
<syncstream>
<iomanip>
<streambuf>
<filesystem>
<regex>
<thread>
<stop_token>
<mutex>
<shared_mutex>
<future>
<condition_variable>
<span>
上面没有提到的头文件编译成功。
注意:我使用的是 GCC 11.1 版。
更新
<execution>
<locale>
<iomanip>
<filesystem>
<thread>
<stop_token>
<condition_variable>
正如我在上面提到的第一个,他们分享的唯一常见错误是NULL
的不一致导入宏定义
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)