c++ - c++ 类的 objective-c 链接器错误

标签 c++ objective-c

我有一个C++类,它被引用了,然后我要声明一个变量。我在 objective-c 中声明:

cObject obj = cObject();
obj.myFunct("test");

但似乎存在链接器错误。它说:

Undefined symbols for architecture armv7:
  "cObject::cObject()", referenced from:
    -[...] in xxx.o
    ___cxxx_global_var_init in xxx.o
"cObject::myFunct(std::__1:basic_string<char,str::__1::char_traits<char>, str::__1::allocator<char> >)", referenced from:
    -[///] in xxx.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1(use -v to see invocation)

编辑:注释中解决的第一个错误: 不要定义空构造函数解决了第一部分。第二部分是指调用obj.myFunct("test");

最佳答案

您需要在某处定义类的默认构造函数和 myFunct 函数:

cObject::cObject()
{
    ...
}

return_type cObject::myFunct(std::string arg1)
{
    ...
}

如果它们已定义,请确保您在定义它们的目标文件中进行链接(即将源文件添加到您的 Makefile/项目文件/命令行/等)。

关于c++ - c++ 类的 objective-c 链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13259303/

相关文章:

c++ - 如何将日期结构转换为字符数组

c++ - 如何在 OpenCV 中处理 vector (数学)

C++ 我的字节数组到 int 和 int 到字节数组转换器有什么问题?

objective-c - Sprite Kit 按 Y 转动节点

ios - 带分页的UITableView,每个cell是一个UIScrollView

C++ cpp-net lib 未找到

c++ - 另一个链接器问题

objective-c - 为什么我总是看到双重属性(property)声明?

ios - 如何在 Objective-C 中进行颜色着色

ios - 无法向 Twilio 可编程聊天中的 channel 添加属性?