gpt4 book ai didi

c++ - qt 5.4/clang:体系结构 x86_64 的 undefined symbol (std::istream::gcount())

转载 作者:行者123 更新时间:2023-11-30 03:51:01 24 4
gpt4 key购买 nike

我正在尝试将一个内部库包含到我的应用程序中,但出现以下链接错误。库已找到。该库是使用与应用程序完全相同的标志编译的。这在 windows 上工作正常,但在 osx 上会带来麻烦。对我来说它似乎找不到 STL 库?

我还向 qmake 添加了以下标志,但没有帮助:

CONFIG += c++11
LIBS += -stdlib=libc++

QMAKE_CXXFLAGS += -stdlib=libc++
QMAKE_CXXFLAGS += -std=c++11

错误信息:

Target: x86_64-apple-darwin14.4.0 Thread model: posix "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -headerpad_max_install_names -macosx_version_min 10.7.0 -o CryptoTest.app/Contents/MacOS/CryptoTest -lcrt1.10.6.o -L/Users/eDS/dev/ed/CryptoTest -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -rpath /Users/eDS/Qt/5.4/clang_64/lib obj/main.o obj/mainwindow.o obj/moc_mainwindow.o -lc++ -lcryptopp -llicensing -framework QtSvg -framework QtWidgets -framework QtGui -framework QtCore -framework DiskArbitration -framework IOKit -framework QtQuickWidgets -framework QtQuick -framework QtQml -framework QtNetwork -framework QtPrintSupport -framework QtWebKitWidgets -framework QtWebKit -framework Qt3D -framework QtOpenGL -framework QtXml -framework QtSql -framework OpenGL -framework AGL -lc++ -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.1.0/lib/darwin/libclang_rt.osx.a -F/Users/eDS/Qt/5.4/clang_64/lib
Undefined symbols for architecture x86_64:
"std::istream::gcount() const", referenced from:

CryptoPP::operator>>(std::istream&, CryptoPP::Integer&) in libcryptopp.a(integer.o) "std::string::data() const", referenced from: Licensing::RsaVerifySignature(std::string, std::string) in liblicensing.a(licensing.o)

最佳答案

似乎 clang 在 C++11 上仍然存在一些问题,看到这个线程,它很旧但我认为仍然是真实的:

https://forum.qt.io/topic/23989/solved-make-qtcreator-qmake-and-clang3-2-work-with-c-11/27

你应该在 pro 文件中使用类似的东西:

TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.cpp

LIBS += -stdlib=libc++

QMAKE_CXXFLAGS += -stdlib=libc++
QMAKE_CXXFLAGS += -std=c++11
QMAKE_CXXFLAGS += -mmacosx-version-min=10.7
QMAKE_LFLAGS += -mmacosx-version-min=10.7

这将是 clang 的解决方法。

关于c++ - qt 5.4/clang:体系结构 x86_64 的 undefined symbol (std::istream::gcount()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31516638/

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