MacCentre.ru Форум
Форум по компьютерам Mac, Mac OS X и продукции Apple
 
ПравилаПравила   FAQFAQ   ПоискПоиск  РегистрацияРегистрация   ПрофильПрофиль   Войти и проверить ЛСВойти и проверить ЛС   ВходВход 
Необходимо собрать MAC-версию DLL (проект под Windows)
На страницу 1, 2, 3  След.
Начать новую тему   Ответить на тему Список форумов MacCentre.ru Форум » Программирование и Beta-тестирование   
Автор Сообщение
Odin_KG



Репутация: 0    

Зарегистрирован: 21.10.2008
Сообщения: 23

СообщениеДобавлено: Вт Окт 21, 2008 23:52
Необходимо собрать MAC-версию DLL (проект под Windows)
Ответить с цитатой

Имеется проект, результатом компиляции которого под Windows, является библиотека DLL. Необходимо откомпилировать этот же проект под MAC. В самом проекте не используется WinAPI или еще чего-то специфического. Из внешних библиотек подключаются только:
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
Поэтому теоретически должно быть возможно перекомпилировать проект без всяких доработок.

Проблема в том, что я абсолютно не знаком с MAC. Только сегодня к моему большому удивлению удалось заставить работать на PC операционку Mac OS 10.4.9a. Далее я обнаружил в Интернете, что имеется среда XCode, в которой видимо это всё и нужно сделать. Но... чтобы что-то скачать с сайта Apple, требуется регистрация в ADC, а там нужен какой-то Apple ID, который, как я подозреваю, получают при покупке MAC-а. Кроме того на Apple сейчас лежит самая последняя версия XCode, которая под моей не самой новой Mac OS вроде бы не работает.

Вопрос, как подойти к решению проблемы? Т.е. добыванию XCode не самой последней версии. Или же можно пойти другим путем, т.е. без XCode? Уточняю, что мне хотелось бы решить вопрос максимально простым способом - учиться сейчас полноценно программировать под MAC я считаю делом немыслимым. Мне лишь нужно как-то решить конкретный вопрос.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Zlyden



Репутация: +203/–1    

Зарегистрирован: 13.07.2001
Сообщения: 10302
Откуда: Понаехавший

СообщениеДобавлено: Ср Окт 22, 2008 00:08
Ответить с цитатой

Odin_KG,

Просто зарегистрируйтесь. Вы сможете скачать Хкоды и предыдущих версий. (Вам нужен 2.4 или 2.5, чтобы завелись на 10.4.х).

Другой вопрос, понимаете ли вы что делаете, и чем потом планируете заняться с этой гммм... "библиотекой ДЛЛ"?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Odin_KG



Репутация: 0    

Зарегистрирован: 21.10.2008
Сообщения: 23

СообщениеДобавлено: Ср Окт 22, 2008 01:24
Ответить с цитатой

Zlyden

>Просто зарегистрируйтесь.
Дык, я бы рад, но с меня требуют Apple ID. Это поле для заполнения обязательно. Оставлять пустым не получается, а попытка заполнять произвольными данными тоже не помогает. Возможно, я где-то не там регистрируюсь... Вы не могли бы дать ссылку на ваш способ регистрации?

>Вы сможете скачать Хкоды и предыдущих версий. (Вам нужен 2.4 или 2.5, чтобы завелись на 10.4.х).
ОК. Спасибо! Только я пока на регистрации завис...

>Другой вопрос, понимаете ли вы что делаете, и чем потом планируете заняться с этой гммм... "библиотекой ДЛЛ"?
Применительно к Windows, разумеется, понимаю. Что касается MAC, то я его сегодня увидел впервые в жизни (точнее даже не MAC, а MAC OS). Как мне сказали, на MAC OS тоже существуют DLL, но там расширение какое-то другое. Если я что-то неправильно себе представляю, то поясните, пожалуйста, в чем там проблема?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Veselchack_U



Репутация: +159    

Зарегистрирован: 02.03.2002
Сообщения: 4966

СообщениеДобавлено: Ср Окт 22, 2008 02:36
Ответить с цитатой

Odin_KG писал(а):

>Просто зарегистрируйтесь.
Дык, я бы рад, но с меня требуют Apple ID. Это поле для заполнения обязательно. Оставлять пустым не получается, а попытка заполнять произвольными данными тоже не помогает. Возможно, я где-то не там регистрируюсь... Вы не могли бы дать ссылку на ваш способ регистрации?


Вы "программист"? Напрягите воображение...
(Там все очень просто, от вас никто ничего не хочет, кроме сказать какой ентот ID вы хотите использовать...)

Odin_KG писал(а):

>Другой вопрос, понимаете ли вы что делаете, и чем потом планируете заняться с этой гммм... "библиотекой ДЛЛ"?
Применительно к Windows, разумеется, понимаю. Что касается MAC, то я его сегодня увидел впервые в жизни (точнее даже не MAC, а MAC OS). Как мне сказали, на MAC OS тоже существуют DLL, но там расширение какое-то другое. Если я что-то неправильно себе представляю, то поясните, пожалуйста, в чем там проблема?


Вы вообще делаете что и на чем? Objective-C? С++?

_________________
Мы не бандиты, а благородные пираты...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Odin_KG



Репутация: 0    

Зарегистрирован: 21.10.2008
Сообщения: 23

СообщениеДобавлено: Ср Окт 22, 2008 11:13
Ответить с цитатой

Цитата:
Вы "программист"? Напрягите воображение...

ОК. Напряг и помогло. Блин, это login оказывается... Мда... тупил я долго, но произвольные цифры почему-то тоже не принимались (я то думал, что это регистрационный ключ от лицензии какой-нибудь). Большое спасибо за ценный совет.

Цитата:
Вы вообще делаете что и на чем? Objective-C? С++?

Сама программа на C++ под Microsoft Visual Studio Net 2005 с использованием MFC. Состоит из 2-х частей:
1) Редактор спецэффектов на основе частиц Magic Particles (он намертво привязан к Windows)
2) Библиотека magic.dll для воспроизведения созданных в редакторе спецэффектов из собственных программ (в основном из игр). Вот как раз эту библиотеку я и хочу заставить работать на MAC. Там MFC нет и ничего нестандартного тоже вроде нет (по крайней мере я на это надеюсь). Размерность типов данных вроде тоже совпадает, что не может не радовать.

Ссылка на проект www.astralax.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Zlyden



Репутация: +203/–1    

Зарегистрирован: 13.07.2001
Сообщения: 10302
Откуда: Понаехавший

СообщениеДобавлено: Ср Окт 22, 2008 19:48
Ответить с цитатой

Odin_KG писал(а):
Вот как раз эту библиотеку я и хочу заставить работать на MAC.


Каким образом?

Теоретически, если это "Дэ-Лэ-Лэ", то оно должно к чему-то дэномически лэнковаться, да?

Ответ на вопрос: "к чему именно оно будет линковаться?", позволит попробовать запослать вас в нужном направлении... Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Odin_KG



Репутация: 0    

Зарегистрирован: 21.10.2008
Сообщения: 23

СообщениеДобавлено: Ср Окт 22, 2008 20:31
Ответить с цитатой

Zlyden
Цитата:
Теоретически, если это "Дэ-Лэ-Лэ", то оно должно к чему-то дэномически лэнковаться, да?

Естественно... но для начала мне нужно хотя бы перекомпилировать под MAC. А далее я отдам эту библиотеку тем, кто её просил меня создать, пусть сами пробуют (я так понимаю, что у них сама программа уже есть). Если будут какие-то проблемы, то буду думать об этом дальше, а пока не вижу смысла обдумывать то, что может и не понадобиться обдумывать.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Zlyden



Репутация: +203/–1    

Зарегистрирован: 13.07.2001
Сообщения: 10302
Откуда: Понаехавший

СообщениеДобавлено: Ср Окт 22, 2008 20:39
Ответить с цитатой

Odin_KG писал(а):
А далее я отдам эту библиотеку тем, кто её просил меня создать, пусть сами пробуют (я так понимаю, что у них сама программа уже есть).


А... понятно.

А им нужно что: фреймворк? плуг-ин? али что?

Дайте им проще исходники -- пусть сами мучаютцо, они (предположительно) имеют какой-то макинтосьный опыт и примерно представляют что им нужно...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Odin_KG



Репутация: 0    

Зарегистрирован: 21.10.2008
Сообщения: 23

СообщениеДобавлено: Ср Окт 22, 2008 21:09
Ответить с цитатой

Zlyden
Цитата:
А им нужно что: фреймворк? плуг-ин? али что?

У них игровой коммерческий проект, который будет издан. Мою библиотеку они используют как часть этого проекта, а в моем редакторе рисуют спецэффекты, которые потом воспроизводят из игры. В идеале им нужна статическая библиотека типа LIB, которую можно прилинковать к C++-ному проекту, но пока будет DLL.

Цитата:
Дайте им проще исходники -- пусть сами мучаютцо

это самый крайний случай. У меня достаточно серьезная разработка и разбрасываться исходниками без крайней причины я не собираюсь.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Daniel



Репутация: +348    

Зарегистрирован: 14.07.2001
Сообщения: 9072
Откуда: Украина

СообщениеДобавлено: Чт Окт 23, 2008 01:53
Ответить с цитатой

Ну так вы Xcode скачали, попробовали скомпилить? )
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Odin_KG



Репутация: 0    

Зарегистрирован: 21.10.2008
Сообщения: 23

СообщениеДобавлено: Чт Окт 23, 2008 09:46
Ответить с цитатой

Daniel
Цитата:
Ну так вы Xcode скачали, попробовали скомпилить? )

Вот только что скачал версию 2.5, сейчас буду пробовать установить. Видимо dmg это формат MAC-а какой-то... как я понимаю.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Odin_KG



Репутация: 0    

Зарегистрирован: 21.10.2008
Сообщения: 23

СообщениеДобавлено: Чт Окт 23, 2008 11:27
Ответить с цитатой

О, чудо! XCode установился. Буду разбираться, а то пока даже спросить нечего из-за неознакомленности с продуктом... Хотя... вот вопрос: библиотека должна придерживаться стандарта вызова функций, чтобы её можно было использовать. В Windows это обычно stdcall (иногда cdecl). А на MAC как дела с этим обстоят?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Veselchack_U



Репутация: +159    

Зарегистрирован: 02.03.2002
Сообщения: 4966

СообщениеДобавлено: Чт Окт 23, 2008 11:55
Ответить с цитатой

Видимо вам придется потратить пару дней (лучше недельку) на чтение книжек:

http://developer.apple.com/documentation/DeveloperTools/Conceptual/MachOTopics/Articles/loading_code.html

_________________
Мы не бандиты, а благородные пираты...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Odin_KG



Репутация: 0    

Зарегистрирован: 21.10.2008
Сообщения: 23

СообщениеДобавлено: Чт Окт 23, 2008 16:36
Ответить с цитатой

Жаль, что английский... всё же я не англичанин, хотя на определенном уровне английский понимаю.

Кстати, столкнулся тут же в XCode с ситуацией, что он не хочет находить stdafx.h. Пишу:
#include "stdafx.h" - помечает строку красным кружочком при компиляции

Вроде рядом написано :
#include "pictures.h" - никаких красных кружочков, причем все файлы существуют и лежат в одной и той же папке.

В принципе stdafx.h - это основной файл в MFC и у меня тут возникли подозрения, что MAC может его просто тихо ненавидить и поэтому не подключать.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Veselchack_U



Репутация: +159    

Зарегистрирован: 02.03.2002
Сообщения: 4966

СообщениеДобавлено: Чт Окт 23, 2008 16:52
Ответить с цитатой

Дабавьте файл в проект в явном виде...
_________________
Мы не бандиты, а благородные пираты...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему Список форумов MacCentre.ru Форум » Программирование и Beta-тестирование Страница 1 из 3
На страницу 1, 2, 3  След.

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы можете добавлять приложения в этом форуме
Вы можете скачивать файлы в этом форуме


Связь с администраторами

Powered by phpBB © 2001, 2005 phpBB Group