gpt4 book ai didi

c++ - 使用非默认编译器编译和使用 Qt 时出现问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:59:20 26 4
gpt4 key购买 nike

我正在尝试编译和使用 Qt。出于某种原因,我必须为我的应用程序使用 g++ 版本 3.4.3,而不是系统上安装的编译器:g++ 4.1.2。我编译 Qt 时将环境变量 CXX 和 CC 设置为旧的 g++,但是当我将我的应用程序与旧的 g++ 链接时,我仍然收到以下错误:

.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `typeinfo for std::exception@GLIBCXX_3.4'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info@CXXABI_1.3'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `__cxa_begin_catch@CXXABI_1.3'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `operator delete[](void*)@GLIBCXX_3.4'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `operator new(unsigned int)@GLIBCXX_3.4'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `vtable for std::bad_alloc@GLIBCXX_3.4'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `std::bad_alloc::~bad_alloc()@GLIBCXX_3.4'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `__cxa_pure_virtual@CXXABI_1.3'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `typeinfo for std::bad_alloc@GLIBCXX_3.4'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `vtable for __cxxabiv1::__class_type_info@CXXABI_1.3'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `__gxx_personality_v0@CXXABI_1.3'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `std::exception::~exception()@GLIBCXX_3.4'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `__cxa_throw@CXXABI_1.3'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `std::uncaught_exception()@GLIBCXX_3.4'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `vtable for __cxxabiv1::__si_class_type_info@CXXABI_1.3'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `operator delete(void*)@GLIBCXX_3.4'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `__cxa_allocate_exception@CXXABI_1.3'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `operator new[](unsigned int)@GLIBCXX_3.4'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `__cxa_rethrow@CXXABI_1.3'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `std::terminate()@GLIBCXX_3.4'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `__cxa_end_catch@CXXABI_1.3'
.../qt-4.7.1-lgpl/lib/libQtCore.so: undefined reference to `std::exception::what() const@GLIBCXX_3.4'

只有使用新的编译器和链接器才能成功链接可执行文件。

有没有人知道如何解决这个问题?

最佳答案

事实证明修改LINK 是不够的,但是当我将PATH 更改为指向旧编译器时,Qt 被编译并仅与旧编译器链接,然后我能够将它与我的程序链接起来。早该想到的……

关于c++ - 使用非默认编译器编译和使用 Qt 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4817808/

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