我在Xcode下编译文件提示Undefined symbols forarchitecture i386:
"bIsRtfFile(__sFILE*)", referencedfrom:
ZhuoYou::MyWord::MyWord(std::__1::basic_string<char,std::__1::char_traits<char>, std::__1::allocator<char> >) in MyWord.o
用百度了半天也没解决,最后用googl去国外论坛上才得到解决
描述:
我在网上找得源码,然后自己封装c++类的接口,然后在工程中编译抱上面的错误,最后明白了问题原因
默认xcode是按文件类型去编译文件,。C文件调用c编译器去编译,。Cpp调用c++编译器去编译,最后链接的时候就很可能报错
因为c++里可以函数重载,在编译的时候会在函数做标记,就会和c编译器编译出来的函数名不一样,就会报错
解决方法:
1. 点工程的那个选项
2. 然后在那个搜索框内输入 CompileSources
看看编译器默认的编译选项如果是accordingto file type,那么很可能就是这个造成的
如果你要编译的是c++程序,改成c++一般问题就可以解决。