小编Sco*_*ott的帖子

链接目标c ++

我试图弄清楚为什么当我将我的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++类,这阻止了我继续.

感谢您提供任何帮助.

c++ linker objective-c gnustep

3
推荐指数
1
解决办法
2556
查看次数

标签 统计

c++ ×1

gnustep ×1

linker ×1

objective-c ×1