Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
Johnybgoode777
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 13
#1

Как прикрутить яблочный интерфейс к коду на C++? - Программирование iOS

03.01.2014, 22:53. Просмотров 584. Ответов 4
Метки нет (Все метки)

Всем привет! У меня есть консольная прога, написанная в Xcode на С++. Мне нужно приделать к ней яблочный интерфейс. Но вот проблема - Cocoa написан на Objective С. Знаю, что есть ещё Carbon, который позволяет делать интерфейс на плюсах, но он уже давно не поддерживается XCode. Стал искать, как встроить код на C++ в код на Obj C, нашёл вот эту статью, но ни фига не понял. Подскажите, как можно приделать яблочный интерфейс к моей проге.
P.S.1 Просьба не предлагать мне использовать Qt.
P.S.2 Просьба не предлагать мне переписывать весь код на Obj C.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2014, 22:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как прикрутить яблочный интерфейс к коду на C++? (Программирование iOS):

Как прикрутить карты от яндекса - Программирование iOS
Скачал библиотеку с yamapkit , прикрутил файлики в проекте. Но при запуске пишет что не находит YKMAPKITVIEW. Есть ккой нить мануал или...

Как прикрутить разработку под iOS к eclipse ? - Программирование iOS
Коллеги, прошу прощения, наверно задаю странный вопрос. Я не под виндой сижу, а под честным хакинтошем. Тем не менее вопрос возник. Делаю я...

Как к программе прикрутить графический интерфейс? - Lazarus
Всем доброго времени суток! Мы только начали изучать Паскаль и Лазарус, но мне уже нравиться это дело :) Пока мы пишем простенькие...

Есть готовая консольная программа. Как прикрутить к ней Qt-интерфейс? - C++ Qt
есть готовая работающая программа на c++ , как сделать чтобы данные вводились с помощью интерфейса qt , обрабатывались программой , и...

прикрутить текстбокс и кнопку к коду - C#
привет всем . есть программа выполняющая математические действия умнож, деление, вычит, слож.... сам код вроде как способен выплнять эти...

Builder. Нужно создать интерфейс к коду - C++ Builder
Здравствуйте все! Имеется код программы для проверки ЭЦП. Программа была написана на Билдере и имела графический интерфейс. К сожалению,...

4
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
03.01.2014, 23:59 #2
Цитата Сообщение от Johnybgoode777 Посмотреть сообщение
нашёл вот эту статью, но ни фига не понял
Ну так учите мат часть

Интерфейс вам все равно придется писать на Objective-C. В любом случае. //Хотя можете написать все на Си и OpenGL...
Но использовать c++ при этом вам никто не будет мешать. Не зря же для этого есть "Objectve C++" и расширение файлов ".mm"
0
Johnybgoode777
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 13
04.01.2014, 04:09  [ТС] #3
Цитата Сообщение от zulkis Посмотреть сообщение
Интерфейс вам все равно придется писать на Objective-C.
Капитан Очевидность
Я уже начал переделывать свой проект на Objective С++. Импортирую с C++ класс и инкапсулирую его Obj-C классом.
Objective-C
1
2
3
4
5
6
#import "Header.hpp"
@interface mn : NSObject{
  mnai *m;
}
- (id)initWithRe: (double)dval1 : (double)dval2 : (double)dval3 : (double)dval4 : (double)dval5 : (int)ival1 : (int)ival2;
@end
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#import "mn.h"
 
@implementation mn
- (id)initWithRe: (double)dval1 : (double)dval2 : (double)dval3 : (double)dval4 : (double)dval5 : (int)ival1 : (int)ival2{
    self = [super init];
    if (self != nil) {
        m = new mnai(dval1, dval2, dval3, dval4, dval5, ival1, ival2);
        
    }
    return self;
}
- (void) dealloc {
    delete m;
    //[super dealloc];
}
 
@end
Но есть одна проблема. В С++-классах у меня используются объекты типа List из STL. Когда, я подключил файлы C++ класса к Obj С проекту, компилятор начал ругаться на все упоминания типа List. И на CPP-шное слово class ругается, предлагает заменить на Class из Obj С.
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
04.01.2014, 10:25 #4
Все файлы реализации с зависимостями от c++ названы как .mm?
0
Johnybgoode777
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 13
04.01.2014, 15:02  [ТС] #5
Да. Я уже сам разобрался, что нужно сделать. Дабл клик по проекту, открываются Build Settings, далее нужно перейти к Apple LLVM 5.0 - Language и напротив Compile Sources as выбрать Objective C++.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2014, 15:02
Привет! Вот еще темы с ответами:

Подскажите максимально бюджетный яблочный смартфон - Смартфоны
Так вышло что я ни разу в жизни ни пользовался ни одним яблочным девайсом. Но т.к. они очень популярны хочется попробовать хоть что-то для...

Как прикрутить проверку - PHP
http://xmages.net/storage/10/1/0/3/e/upload/8fa1cf7d.jpg Как прикрутить проверку на название и описание? Если что то не заполнено,...

Как прикрутить CheckBox - Delphi
Встал вопрос :) есть 15 полей (5 точек по 3 поля) и необходимо ввести чекбоксы что сделать так, что можно было для определенных точек...

Как прикрутить StretchDIBits? - Visual Basic
Помнишь меня и мою проблему? Мне нужно было сделать быстрый Zoom на PictureBox. Помоги, pls, прикрутить StretchDIBits.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
04.01.2014, 15:02
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru