gpt4 book ai didi

c++ - Mac 上的 qmake 和 std::filesystem

转载 作者:行者123 更新时间:2023-12-04 03:45:25 28 4
gpt4 key购买 nike

我正在使用 Qt Creator 和一个 qmake 项目。我有什么应该是一个非常简单的问题:

#include <filesystem>
...
std::filesystem::path myPath;

在构建期间以及在 IDE 中,我收到错误“路径不可用:在 macOS 10.15 中引入”。

我可以使用 g++ 或 clang++ 手动编译(不使用 qmake)。

我的 qmake 项目文件有:

TEMPLATE = app
CONFIG += c++17
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
CONFIG += sdk_no_version_check

有魔法咒语吗?我什至不关心构建,因为这甚至不是 Qt 应用程序,而且我有一个手动生成的 Makefile。我只是不想让 IDE 向我尖叫错误。

我可以在 StackOverflow 上找到关于链接问题的最接近的相关项目。尽管我尝试了各种建议的标志,但我什至没有在 Qt Creator 中走得那么远。

--

我正在做更多的挖掘工作。我正在手动编辑生成的 Makefile 并运行 make 并从 clang++ 中得到相同的错误。我试过 g++。同样的错误。但通常情况下,我会使用自己手动编写的 Makefile 进行构建,而且它的编译很干净。

所以我查看了标志:

-mmacosx-version-min=10.13

手动删除它可以消除编译期间的错误(从命令行)。

那么,问题:

  1. 如何让 qmake 不将该标志放入生成的 Makefile 中?

  2. 如何让 linter 看不到该标志(我假设这就是它在 IDE 的代码编辑器部分内联显示的原因)?

最佳答案

我一直在寻找的魔法咒语竟然是,在.pro文件中:

 QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.15

否则,它会尝试构建以支持早期版本的 MacOS,而这些版本还没有 C++17 功能。

关于c++ - Mac 上的 qmake 和 std::filesystem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65258298/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com