Mar*_*ser 1 c++ xcode objective-c objective-c++ osx-lion
我在Xcode中有一个非常小的程序,只显示标签并在viewWillAppear方法中更改标签的文本.label.text应该来自一个C++库,其函数如下:
int getNumber(){
return 42;
}
Run Code Online (Sandbox Code Playgroud)
问题是,在我的*.mm(!)类中包含#import"TestLibMain.h"的类并使用该函数
TestLibMain *tlb = new TestLibMain();
int myInt = tlb->getNumber();
NSString *myString = [NSString stringWithFormat:@"%d",myInt];
Run Code Online (Sandbox Code Playgroud)
不会调用编译器错误,但会发生链接器错误:
架构i386的未定义符号:"TestLibMain :: getNumber()",引自: - tbViewController.o中的[tbViewController buttonPressed:] ld:找不到架构i386 clang的符号:错误:链接器命令失败,退出代码为1 (使用-v查看调用)
我的印象是,cpp-class尚未编译.
我尝试了很多东西,但在某个地方它已经挂了.它都在同一个目录中,我使用.mm扩展名,一切都很好,但总是这个链接器错误.变得疯狂 :-)
Mac OS X Lion,XCode 4.2
有任何想法吗?
int getNumber() {
return 42;
}
Run Code Online (Sandbox Code Playgroud)
在一个.cpp
或.mm
定义getNumber()
为自由函数.这个:
int TestLibMain::getNumber() {
return 42;
}
Run Code Online (Sandbox Code Playgroud)
定义getNumber()
为.的成员TestLibMain
.
归档时间: |
|
查看次数: |
408 次 |
最近记录: |