我试图弄清楚为什么当我将我的main.m文件转换为main.mm文件时,它不再正确链接.
我已将问题减少到以下示例代码:
#import <Foundation/Foundation.h>
#import <AppKit/AppKit.h>
int main( int argc, const char ** argv ) {
return NSApplicationMain( argc, argv);
}
Run Code Online (Sandbox Code Playgroud)
我正在使用gnustep和linux.我输入以下命令,一切都按预期工作:
g ++ -g -c main.m -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers
g ++ -g -o test main.o -L/usr/GNUstep/Local/Library/Libraries -L/usr/GNUstep/System/Library/Libraries -lgnustep-base -lgnustep-gui
现在如果我将main.m重命名为main.mm并使用这两个命令(同样exept main.m now main.mm):
g ++ -g -c main.mm -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers
g ++ -g -o test main.o -L/usr/GNUstep/Local/Library/Libraries -L/usr/GNUstep/System/Library/Libraries -lgnustep-base -lgnustep-gui
我收到以下错误:main.mm:7:未定义引用`NSApplicationMain(int,char const**)'
有人可以找到我做错了吗?我不明白为什么它现在无法链接.
我试图在目标c程序中添加一些C++类,这阻止了我继续.
感谢您提供任何帮助.