Как можно перенести существующее приложение Windows GUI, написанное на C, на Linux? - PullRequest
2 голосов
/ 26 марта 2010

Мне было поручено перенести существующее приложение Windows GUI на Linux. В идеале я хотел бы сделать это, чтобы одна и та же база кода могла использоваться для сборки версии для Windows или для Linux. Я буду работать над Ubuntu 9.04. После поисков, мне неясно, какие инструменты лучше всего подходят, чтобы помочь мне в этом.

Список свободных требований будет:

  1. Код написан на C, а не на C ++ и должен компилироваться для сборки версий для Windows и Linux. Поскольку существующий и довольно большой код, переход на управляемый язык, такой как .NET, пока не обсуждается.

  2. Я бы предпочел использовать одни и те же диалоговые окна в обеих системах. В Windows установить диалог довольно просто. Вы создаете диалоговое окно в редакторе ресурсов в Visual Studio, затем вызываете DialogBox () API и обрабатываете сообщения о событиях. Я действительно хотел бы найти что-то, что может сделать аналог на стороне Linux.

  3. Было бы также неплохо иметь хорошую IDE, похожую на Visual Studio.

Буду признателен за любые подсказки или подсказки.
Спасибо,

Ответы [ 3 ]

6 голосов
/ 26 марта 2010

Winelib должен позволить вам скомпилировать код Win32 под Linux с несколькими изменениями.

1 голос
/ 26 марта 2010

Поскольку ваша кодовая база находится в C, я бы предложил использовать GTK + . Это кроссплатформенный инструментарий GUI. Например, графический интерфейс Pidgin для обмена мгновенными сообщениями создается с помощью GTK +. Glade Дизайнер пользовательского интерфейса может использоваться для графического дизайна пользовательского интерфейса.

0 голосов
/ 26 марта 2010

Если у вас ограниченный бюджет и вы не возражаете против того, чтобы обойти достаточное количество ограничений, Winlib - это вариант. Если у вас меньше времени и бюджет больше, вы можете вместо этого взглянуть на Mainsoft . Он не совсем идеален, но я считаю, что он поддерживает значительно большую часть Win32 API (по соответственно более высокой цене).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...