微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法使用来自 conan-center recipe 的 libc++ 从源构建 QT qglobal.h:45:12:致命错误:找不到“type_traits”文件

如何解决无法使用来自 conan-center recipe 的 libc++ 从源构建 QT qglobal.h:45:12:致命错误:找不到“type_traits”文件

我正在尝试使用该配置文件从 conan-center 构建 qt/5.15.2@ 包:

[settings]
build_type=Debug
arch=x86_64
arch_build=x86_64
os=Linux
os_build=Linux
compiler=clang
compiler.version=9
compiler.libcxx=libc++
[env]
CC=clang-9
CXX=clang++-9
CXXFLAGS="-v"

它因该输出而失败

Performing shadow build...
Preparing build tree...
Creating qmake...
In file included from /home/user/conan/qt/5.15.2/my/my/source/qt5/qtbase/qmake/main.cpp:30:
In file included from /home/user/conan/qt/5.15.2/my/my/source/qt5/qtbase/qmake/project.h:32:
In file included from /home/user/conan/qt/5.15.2/my/my/source/qt5/qtbase/qmake/library/qmakeevaluator.h:36:
In file included from /home/user/conan/qt/5.15.2/my/my/source/qt5/qtbase/qmake/library/qmakeparser.h:32:
In file included from /home/user/conan/qt/5.15.2/my/my/source/qt5/qtbase/qmake/library/qmake_global.h:32:
In file included from /home/user/conan/qt/5.15.2/my/my/source/qt5/qtbase/include/QtCore/qglobal.h:1:
/home/user/conan/qt/5.15.2/my/my/source/qt5/qtbase/include/QtCore/../../src/corelib/global/qglobal.h:45:12: Fatal error: 'type_traits' file
      not found
#  include <type_traits>
           ^~~~~~~~~~~~~
1 error generated.

我已经尝试了很多方法解决它:

  1. -I /usr/lib/llvm-9/include/c++/v1/ 添加./configure。 configure 的帮助说可以传递-I,-D,-L 参数
  2. 定义 INCLUDEINCLUDEPATH 环境变量,其值为 /usr/lib/llvm-9/include/c++/v1/
  3. QMAKE_CXXFLAGS 调用中将与 (1) 中相同的内容添加./configure 以上所有方法都不起作用,输出仍然相同

路径 /usr/lib/llvm-9/include/c++/v1/ 包含所有 stdlib 标头和 type_traits。其他 conan 包构建良好,向编译器添加 -v 选项会显示包含上述路径的包含路径列表。
我还尝试将 -v 添加QMAKE_CXXFLAGSCXXFLAGS 以跟踪包含路径,但它甚至没有改变任何内容
我发现了一些类似的问题,但它们都与我不使用的 android 的 NDK 相关

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。