Каков наилучший способ создания библиотек DLL с открытым исходным кодом для разработчиков Windows? - PullRequest
8 голосов
/ 12 июня 2009

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

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

Ответы [ 4 ]

5 голосов
/ 12 июня 2009

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

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

2 голосов
/ 12 июня 2009

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

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

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

В этой короткой статье показана простая кросс-компиляция приложения Windows и запуск этого приложения под Wine:

1 голос
/ 12 июня 2009

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

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

1 голос
/ 12 июня 2009

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

...