Создание файлов файлов (для GCC) из решения Visual Studio
Я хочу скомпилировать мое решение Visual Studio с тремя проектами в Linux с помощью GCC. Решение содержит два проекта DLL и одного приложения (.EXE), в котором используются эти DLL. Исходный код не содержит зависимости от Windows.
Как преобразовать решение (с 3 проектами) для создания файлов, которые могут быть скомпилированы в Linux с помощью GCC.
Есть ли какой-либо инструмент для преобразования решения Visual Studio (Project) для создания файлов /s.
Версия Visual Studio Visual Studio 2008
Ответы
Ответ 1
Возможно, это может вам помочь, но вам нужно обрабатывать выходы в исходном коде
Make-It-так
http://code.google.com/p/make-it-so/
или
sln2mak
http://www.codeproject.com/Articles/28908/Tool-for-Converting-VC-2005-Project-to-Linux-Makef
Надеюсь, это поможет вам.
Ответ 2
Во-первых, у Linux нет библиотеки DLL, у нее есть общие объекты, которые могут быть динамически связаны с другой семантикой. Прочтите описание Levine Linkers and Loaders и Программа Library Howto
Тогда я думаю, что вы не должны пытаться преобразовать свой проект VS в Makefile
, вы должны правильно написать Makefile
.
Не забудьте установить Makefile
, чтобы -Wall
был передан в GCC (и, возможно, также -std=gnu99
и -g
, если вы хотите отладочную информацию, возможно, через CFLAGS
или CXXFLAGS
)).
Если ваша программа не является миллионной строкой приложения кода, вам не составит большого труда написать собственный Makefile
. Я настоятельно рекомендую научиться использовать GNU make и прочитать его документацию, которая, как мне кажется, хорошо написана (с некоторой частью учебника). Вы можете взглянуть на вывод make -p
, который дает "встроенное знание" GNU make
.
Вы также можете заглянуть в существующие приложения Linux для свободного программного обеспечения и изучить их Makefile
.
Кстати, если вам трудно отлаживать ваши файлы make файлов, используйте remake.
Не думайте в терминах "конвертирования моего приложения в Linux", но больше с точки зрения "кодирования приложения Linux".
Обратите внимание, что существуют некоторые рамки (в частности, Qt) для разработки программного обеспечения в Linux, Windows и MacOS. Вы даже можете использовать их для приложений без GUI.
Не забывайте читать такие материалы, как расширенное программирование linux и advanced unix
Ответ 3
Вы можете использовать vcproj2cmake или vcxproj2cmake. Дальнейшие инструменты уже перечислены здесь:
Как поддерживать оба vcxproj в cmake в проекте?