Могу ли я скомпилировать проект Visual C ++ в Linux с помощью xbuild?

У меня есть существующий проект, который я компилирую как в Windows, используя Visual C ++ 2008, так и в Debian Linux. В этом проекте используется стандарт Visual C ++ .vcproj файл, а некоторые .cpp а также .h файлы. Это не зависит от каких-либо конкретных вещей для Windows. Просто C ++.

Он компилируется и хорошо работает на Linux, используя самодельный инструмент это читает .vcproj файл для генерации Makefile который используется с make скомпилировать и связать все файлы, используя g++,

Проблема в том, что в Visual C ++ 2010 (и 2012) формат файлов проекта изменился. Даже имя было изменено с .vcproj в .vcxproj, мой самодельный инструмент не может прочитать этот новый файл проекта для генерации Makefile,

Вместо обновления самодельный инструмент чтобы поддержать новые файлы проекта, мне было интересно, если xbuild будет в состоянии скомпилировать мой исполняемый файл Linux?

Сначала я попытался скомпилировать свой собственный проект (VC ++ 2008), но xbuild жалуется что мой проект is a VS2003 project, which is not supported by xbuild. Однако, прибегая к помощи по этому вопросу, я обнаружил, что xbuild должен поддерживать файлы проекта VS2005. Есть также некоторые ссылки на mdtool чтобы поддержать эти старые файлы проекта, но я, кажется, интегрирован в xbuild сейчас.

Кроме того, я попытался скомпилировать пример Visual C ++ 2010 (HuoChess), полученный с сайта MSDN. Результат

/Microsoft.Cpp.Default.props: Project file could not be imported, it was being
imported by [...] /HuoChessConsole/HuoChessConsole.vcxproj: Imported project:
"//Microsoft.Cpp.Default.props" does not exist.`

Теперь, похоже, файл проекта хочет Microsoft определения правила для Cpp компилятор. Должен ли я подделать эти определения, чтобы использовать gcc вместо? Как я могу это сделать?

Это то, что я хочу сделать когда-либо возможно с xbuild?

3

Решение

Нет причин заново изобретать колесо — просто используйте gyp.
«GYP может генерировать ваши проекты» или makefiles.
http://code.google.com/p/gyp/

1

Другие решения

Есть проект GCCBuild который вы можете использовать для сборки проектов vcxproj в Linux. Он просто использует тот же vcxproj, но использует GCC для компиляции и сборки. Там также есть несколько примеров.

PS. Я автор этого проекта.

0

По вопросам рекламы [email protected]