gpt4 book ai didi

C++:在 Mac OS X、Qt 5.0 上运行代码(在 Linux 中创建)

转载 作者:太空宇宙 更新时间:2023-11-04 09:42:36 25 4
gpt4 key购买 nike

当我运行在 Linux 中创建的项目时,“std::cout<<...”行出现错误:

void Assert(bool condition, std::string message)
{
if(!condition)
{
std::cout<<"message"<<message<<std::endl;
int s = 4/0;
}
}

错误信息:

/MainData.cpp:159: error: explicit instantiation of 'std::basic_ostream<_CharT,
_Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
std::char_traits<char>, _Alloc = std::allocator<char>]' but no definition available

包括行:

#include"iostream"
#include"vector"
#include "math.h"
#include"cstdlib"
#include "string"

可能是什么原因?

最佳答案

看来这是 MacOS 特有的怪癖,通过添加编译器标志 -mmacosx-version-min=10.7 解决。

具体来说(如下面第一个链接所述),将这两行添加到您的 .pro 文件中:

QMAKE_CFLAGS_X86_64 += -mmacosx-version-min=10.7
QMAKE_CXXFLAGS_X86_64 = $$QMAKE_CFLAGS_X86_64

支持链接:

关于C++:在 Mac OS X、Qt 5.0 上运行代码(在 Linux 中创建),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19946299/

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