Я пытаюсь понять, почему, когда я конвертирую файл main.m в файл main.mm, он больше не будет правильно связываться.linking object C++
У меня есть задача сводится к следующему примеру кода:
#import <Foundation/Foundation.h>
#import <AppKit/AppKit.h>
int main(int argc, const char ** argv) {
return NSApplicationMain(argc, argv);
}
Я использую GNUstep и Linux. Я введите следующие команды и все работает, как ожидалось:
г ++ -g -c main.m -I/USR/GNUstep/Local/Библиотека/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 to main.mm и использовать эти две команды (то же самое, кроме main.m now main.mm):
g ++ -g -c main.mm -I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/Система/Библиотека/Заголовки
г ++ -g -o тест main.o -L/USR/GNUstep/Local/Library/Библиотеки -L/USR/GNUstep/System/Library/Библиотеки -lgnustep база -lgnustep-гуй
Я получаю следующая ошибка: main.mm:7: неопределенная ссылка на `NSApplicationMain (int, char const **) '
Может ли кто-нибудь найти то, что я делаю неправильно? Я не понимаю, почему сейчас он не связан.
Я пытаюсь добавить некоторые классы C++ к объектной программе c, и это мешает мне продолжать.
Благодарим за помощь, которую вы можете предоставить.