Qt creator 的 std::filesystem linker 错误

std::filesystem linker errors with Qt creator

提问人:Gaurav Goswami 提问时间:4/29/2020 最后编辑:Adrian MoleGaurav Goswami 更新时间:3/6/2021 访问量:780

问:

首先,是的,我看到了这个主题:如何避免Qt的std::filesystem链接器错误?

我有我的 c++ 项目,在那里我使用了 std::filesystem 。我可以用cmd(g++(GCC)9.2.0)编译它,例如:

g++ -std=c++17 -Wall -Wconversion-null -c client.cpp -o c.o -lstdc++fs

但是有了这个 .pro 文件:

LIBS += -lws2_32
LIBS += -lstdc++fs

QT -= gui

CONFIG += c++17
CONFIG -= app_bundle

QMAKE_LFLAGS += -lstdc++fs

DEFINES += QT_DEPRECATED_WARNINGS

SOURCES += \
        client.cpp \
        logmsg.cpp \
        main.cpp

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

HEADERS += \
    client.h \
    includes.h

做不到,我不明白为什么。

错误:

   filesystem: No such file or directory
    #include <filesystem>

          ^~~~~~~~~~~~
C Qt G++ 链接器错误 std 文件系统

评论

1赞 vahancho 4/29/2020
上述错误不是链接错误。编译器找不到包含文件。可能是错误的编译器版本。你能显示包含文件系统头文件的代码吗?
0赞 Frank Osterfeld 4/29/2020
这是哪个QMake/Qt版本?失败的 g++ 调用的完整参数列表也可能很有趣(看看它与手动调用的不同之处)。
0赞 Gaurav Goswami 4/29/2020
@vahancho完全正确的,在套件的设置中选择了错误的编译器版本。谢谢你的帮助。

答: 暂无答案