URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7701
[ Назад ]

Исходное сообщение
"Разработка win32 приложений в среде Unix"

Отправлено Evgeniy Lavrinenko , 16-Ноя-08 22:46 
Доброго времени суток.
Есть потребность в FreeBSD 7.0 писать shareware-ПО под win32 системы.
В KDevelop, взяв шаблонный проект win32, саму компиляцию побороть удалось, но вот с линкером не очень:

cd '/usr/home/user/projects/project_003/debug' && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake
gmake all-recursive
Making all in src
компоновка project_003 (g++)
компоновка project_003 (g++)
/usr/lib/crt1.o(.text+0x85): In function `_start':
: undefined reference to `main'
project_003.o(.text+0x26): In function `WinMain':
/usr/home/user/projects/project_003/src/project_003.cpp:9: undefined reference to `MessageBoxA'
gmake[2]: *** [project_003] Ошибка 1
gmake[1]: *** [all-recursive] Ошибка 1
gmake: *** [all] Ошибка 2
*** Завершено с кодом: 2 ***

Насколько это реально? И где можно по этому поводу узнать больше?


Содержание

Сообщения в этом обсуждении
"Разработка win32 приложений в среде Unix"
Отправлено Аноним , 16-Ноя-08 23:27 
>Насколько это реально? И где можно по этому поводу узнать больше?

Реально, но сложно. Нужны библиотеки виндовс. Например wine ))



"Разработка win32 приложений в среде Unix"
Отправлено vertur , 17-Ноя-08 02:56 
>[оверквотинг удален]
>/usr/lib/crt1.o(.text+0x85): In function `_start':
>: undefined reference to `main'
>project_003.o(.text+0x26): In function `WinMain':
>/usr/home/user/projects/project_003/src/project_003.cpp:9: undefined reference to `MessageBoxA'
>gmake[2]: *** [project_003] Ошибка 1
>gmake[1]: *** [all-recursive] Ошибка 1
>gmake: *** [all] Ошибка 2
>*** Завершено с кодом: 2 ***
>
>Насколько это реально? И где можно по этому поводу узнать больше?

Ну кто либы для DLL от WinAPI будет указывать ?
(их можно сделать из def файлов)

Какой там шароваре, если вы об такую простую вещь спотыкаетесь.


"Разработка win32 приложений в среде Unix"
Отправлено Evgeniy Lavrinenko , 30-Ноя-08 15:31 
>[оверквотинг удален]
>>gmake[1]: *** [all-recursive] Ошибка 1
>>gmake: *** [all] Ошибка 2
>>*** Завершено с кодом: 2 ***
>>
>>Насколько это реально? И где можно по этому поводу узнать больше?
>
>Ну кто либы для DLL от WinAPI будет указывать ?
>(их можно сделать из def файлов)
>
>Какой там шароваре, если вы об такую простую вещь спотыкаетесь.

Шаровары зачастую не гуру пишут. В Unix'ах вообще програмить раньше не пробовал. Можно подробней узнать как линкер победить-то? Что за def файлы? И как с лицензированием в этом случае будет обстоять вопрос (то бишь насколько реально на фриварном софте писать шароварный)?


"Разработка win32 приложений в среде Unix"
Отправлено Michelnok , 30-Ноя-08 15:52 
>
>В Unix'ах вообще програмить раньше не пробовал.

Судя по следующему вопросу, и в Windows тоже. Опыт в BeOS, не иначе :)

>Можно подробней узнать как линкер победить-то? Что за def файлы?

Линкеру надо указать подключить библиотеки типа kernel32.lib, user32.lib и прочие. Это не "настоящие" библиотеки, а лишь заглушки к соответствующим DLL.
В-прочем, не понимаю, какое это имеет отношение к UNIX.


"Разработка win32 приложений в среде Unix"
Отправлено Stanislauz , 30-Ноя-08 18:12 
Может проще всего использовать кроссплатформенные либы, например Qt?


"Разработка win32 приложений в среде Unix"
Отправлено const , 01-Дек-08 14:19 
>Может проще всего использовать кроссплатформенные либы, например Qt?

Одно другому перпендикулярно. Речь-то идёт о том, чтобы, сидя в UNIX, получить виндовый .exe. Можно и Qt при этом использовать.


"Разработка win32 приложений в среде Unix"
Отправлено mirya , 01-Дек-08 18:02 
Есть несколько вариантов:
1) в портах (ports) devel/mingw32-* - это комплект кросс-разработки виндовых приложений, фактически mingw - это gcc под Винду, а указанные порты - это сборка под Фрю, к-рая содержит нужные заголовочные файлы и умеет линковать виндовые бинарники
2) wine/winegcc (emulators/wine , man winegcc), альтернатива. Сам wine позволит запускать результаты разработки
3) wine + какой-нибудь виндовый комплект разработки, к-рый через этот вайн и работает

В любом случае, ожидать адекватной интеграции такой кросс-разработки от Kdevelop или каких-либо других IDE не приходится, будет исключительно редактор с подсветкой и консоль под боком