Как создать проект Visual С++ для Linux?
Какой лучший и простой способ создать (для Linux) приложение на С++, написанное в Visual Studio? Сам код готов - я использовал только межплатформенные библиотеки.
Можно ли подготовить все под Windows в Visual Studio, а затем создать его с помощью инструмента CLI под Linux? Существуют ли какие-либо документы, описывающие это?
РЕДАКТИРОВАТЬ: Дополнительная информация:
-
Используемые Libs: stl, wxwidgets, boost, asio, cryptlib.
-
Очень небольшое ноу-хау Linux.
EDIT # 2: Я выбрал следующее решение: создайте новый проект с помощью kdevelop и соберите все там.
Ответы
Ответ 1
Мы используем проекты CMake для Linux. CMake может генерировать файлы проекта KDevelop и Visual Studio, поэтому вы можете просто создать свой файл CMake в качестве источника файлов IDE для платформы. Генератор KDevelop в порядке, поэтому вы можете редактировать и компилировать в KDevelop (который, в свою очередь, вызывает Make).
С другой стороны, если у вас нет ничего необычного, вы можете использовать CMake или просто Make для создания вещи в Linux, если вы хотите остаться с вашим файлом решения (это то, что я сейчас делаю для библиотеки с тестовые приложения). Этот подход усложняется, когда процесс сборки больше, чем просто "выкидывать эти файлы в компилятор и видеть, что он делает", поэтому решение CMake, на мой взгляд, хорошо подходит для кросс-платформенной разработки.
Ответ 2
Вот как скомпилировать C-код вручную под Linux без дополнительных инструментов сборки:
gcc -s -O2 -o prog -I. -Iincludedir1 -Iincludedir2 -Llibdir1 -Llibdir2 code1.c code2.c -luse1 -luse2
Однако, если ваш проект больше, чем несколько файлов, , вы можете использовать инструмент сборки вместо (например, CMake, см. ответ OregonGhost) для автоматизации компиляции многих файлов и создания он инкрементный. Если вы используете инструмент построения, он будет запускать gcc под капотом, с аналогичными аргументами выше. Полезно понять приведенные выше аргументы, чтобы вы могли устранить неполадки, если ваша автоматическая сборка завершилась с ошибкой.
Это будет компилировать code1.c и code2.c в исполняемые двоичные проги, загружать файлы .h из., includeir1 и includedir2, загружать библиотеки (например, libuse1.so * и libuse2.so *) из каталогов libdir1 и libdir2, используя библиотеки use1 (соответствующие имени файла libuse1.so *) и use2.
Если вы получаете ошибки символа undefined в ваших .c файлах, вы должны указать больше флагов -I
. Если вы получаете ошибки символа undefined в файле .o, вы должны указать больше флагов -l
. Если вы получаете ошибки cannot find -l...
, вы должны указать больше флагов -l
.
Ответ 3
Какой лучший и простой способ создать приложение С++, написанное в Visual Studio для Linux? Сам код готов - я использовал только кросс-plattform libs.
- Проверьте, есть ли что-то, что не является частью стандартного С++
- Промыть и повторить
- Создайте файл makefile или KDevelop
Et voilà!
Ответ 4
8 лет спустя...
Сегодня я наткнулся на этот вопрос и подумал, что вы можете взглянуть на Visual С++ для Linux.
Выпущенный в марте 2016 года VС++ для Linux позволяет вам создать проект в VС++, а затем создать его на машине Linux/VM с помощью собственных инструментов Linux. Что еще, вы можете также отлаживать ваше приложение из VS, поскольку инструменты Linux позволяют отладчику VS управлять GDB на вашем Linux-машине/VM через SSH!
Похоже, это почти то, о чем просил @mspoerr:)