gpt4 book ai didi

c++ - XCODE:使用字符串流 时出现链接问题

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

我不明白为什么 XCode 在使用时会遇到链接问题

    string create_base_uri(string host, int port, string dbname){
std::ostringstream ostr; //output string stream
ostr << port; //use the string stream just like cout,
string port_string = ostr.str();
return "http://" + host + ":" + port_string + "/" + dbname;
}

Undefined symbols for architecture x86_64: "CouchServer::create_base_uri(std::__1::basic_string, std::__1::allocator >, int, std::__1::basic_string, std::__1::allocator >)", referenced from: CouchServer::get_document_by_id(std::__1::basic_string, std::__1::allocator >) in couch_server.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

有人可以帮帮我吗?

最佳答案

需要定义类相关的成员函数:

string CouchServer::create_base_uri(string host, int port, string dbname) {
//..
}

相反,您定义了一个自由函数:

string create_base_uri(string host, int port, string dbname) {
//..
}

有趣的是,它可以编译,因为它没有引用该类的任何其他成员。实际上让它成为一个免费功能可能会更好!如果它当前是私有(private)成员,您可以将其放在匿名 namespace 中。如果它在其他地方有用,你可以把它做成一个效用函数。

关于c++ - XCODE:使用字符串流 <sstream> 时出现链接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15991755/

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