2011-04-12 82 views
0

我开发了一个非常简单的基于C++的可可触摸静态库和一个简单的基于触摸的应用程序,其中包括这个库。从iPhone应用程序调用C++可可触摸静态库

该应用程序给出编译错误“未定义符号”对应于被调用的库函数。 ld:找不到符号。

但是,如果我使基于C的可可触摸静态库,(具有相同的功能),应用程序被成功构建并运行良好。

可能是什么问题?基于C++的可可触摸库不允许吗?

感谢

+0

您可能希望将使用C++ lib的文件的文件类型设置为“cpp-opjcpp”,然后进行清理和编译。 – govi 2011-04-12 14:00:45

+0

听起来像一个名字mangling问题 - 按照govi的建议做,或者,作为替代方法,将.cpp/.cc文件重命名为.mm并重新编译。 – Till 2011-04-12 16:49:02

+0

该库具有.cpp和.h源代码,并且测试应用程序具有.m文件。这是给编译错误。为了解决这个问题,我在测试应用程序中将.m文件的文件扩展名更改为.mm。它编译,链接并成功运行。 谢谢! – RDX 2011-04-13 13:45:30

回答

0

图书馆拥有的.cpp和.h源代码和测试应用程序有.m文件。这是给编译错误。为了解决这个问题,我在测试应用程序中将.m文件的文件扩展名更改为.mm。它编译,链接并成功运行。谢谢

相关问题