2009-06-12 3 views
8

У меня есть несколько бесплатных программ/библиотек с открытым исходным кодом C, которые я разрабатываю на Linux и OSX с помощью инструментальной цепочки GNU (automake, conf, flex, bison, gcc, ...), но иногда получаю запросы на предоставление DLL Windows. Я хотел бы иметь возможность предоставить их, не тратя много времени и денег на разработку Windows Visual Studio. У меня действительно есть виртуальная машина Windows XP, и я также знаю, что программное обеспечение является переносимым, поскольку иногда я получаю исправления, чтобы сделать его встроенным в windows.Каков наилучший способ создания библиотек с открытым исходным кодом для DLL-библиотек для разработчиков Windows?

Какие подходы или инструменты следует использовать? Кросс-компиляция в Linux? используя Visual Studio Express или что-то еще? Я бы предпочел что-то, что полностью автоматизировано из репозитория SVN. Я не считаю cygwin в качестве решения, поскольку это, похоже, не дает того, что нужно разработчикам Windows, насколько я понимаю проблемы - связывание и DLL.

ответ

4

Вы можете попробовать MinGW с MSYS, Visual Studio (Express) с SUA (подсистема для приложения unix) или Cygwin для компиляции программ, основанных на automake/autoconf (./configure & & сделать для сборки под Linux).

К сожалению, файл lib, который они создают, несовместим с другими компиляторами, поэтому, если вы хотите, чтобы ваша библиотека работала с приложением, разработанным с использованием Visual Studio, вы должны использовать подход VSC++. Как правило, многие проекты GNU (check gnuwin32) на самом деле имеют скрипты для сборки VC, которые могут быть скомпилированы с использованием «nmake»

2

Вы можете использовать MinGW или установить инструменты командной строки MSVC от Visual Studio Express.

Любой из них может управляться сценариями командной строки.

Я полагаю, что перекрестная компиляция из Linux также будет работать, но я не знаю, как легко (или больно) это может произойти.

Эта короткая статья показывает простой кросс-компиляции из приложения Windows, & работает это приложение под вино:

1

В комплект программного обеспечения для разработки Windows входит компилятор Microsoft C/C++ (только в командной строке без визуальных инструментов) , поэтому вам даже не нужна Visual C++ Express Edition. Windows SDK - это бесплатная загрузка из Microsoft.

1

Если вы используете http://www.cmake.org/, cmake может создать Makefile (для Unix) и файл проекта (для Visual Studio). Это то, что, например, использует проект KDE.

Компилятор Visual Studio можно запустить из командной строки Windows с помощью devenv/build debug project.csproj в файле cmake. Однако для этого требуется Windows (возможно, в виртуальной машине) с установленной (потенциально свободной) Visual Studio.

+0

Как я уже говорил, я использую gnu toolchain, включая automake/conf. В это время я не собираюсь переключаться на cmake. – dajobe

Смежные вопросы