В Gradle 1.10 Примечания к выпуску http://www.gradle.org/docs/current/release-notes Я вижу упомянутую сборку C ++.
Как настроить проект C ++ для сборки с Gradle? (без IDE)
Предположим, у меня есть
ProjectFolder/hello.cpp
ProjectFolder/build.gradle
hello.cpp
:
#include <stdio.h>
#include <stdlib.h>
int main(void) {
puts("Hello World!!!");
return EXIT_SUCCESS;
}
Что должно быть основным build.gradle
быть для этого проекта C ++?
ОБНОВЛЕНИЕ: я уже посмотрел на Глава 72 Руководства пользователя и упомянутые 2-летние примеры. Они не делают это проще, но сложнее.
Есть 1 пример файла с 6 строками. Я не касался C ++ в течение 10 лет, и я просто хотел быстро начать, например. с GCC. (Пока не найдено)
положить это в build.gradle
apply plugin: 'cpp'
executables {
hello {}
}
поместите ваш исходный файл в src / hello / cpp / say_hello.cpp
запустить ‘gradle helloExecutable’
Ваш исполняемый файл должен быть собран для сборки / binaries / helloExecutable / hello
Или, если вы хотите, чтобы ваш источник был в src / foo / bar, добавьте
sources {
hello {
cpp {
source {
srcDir "src/foo/bar"}
}
}
Начиная с Gradle 2.3 произошли серьезные изменения в сборках нативных компонентов и executables
а также libraries
контейнеры больше не доступны. Приводя Gradle 2.3 Замечания к выпуску:
… DSL для определения собственных исполняемых файлов и библиотек имеет
принципиально изменилось. Контейнеры исполняемых файлов и библиотек имеют
были удалены, и компоненты теперь добавляются по типу к компонентам
контейнер принадлежит модели реестра. Еще одно важное изменение заключается в том, что
исходные наборы для компонента теперь объявляются непосредственно в
определение компонента, вместо того, чтобы настраиваться на источниках
блок.
Обновленный код Gradle, совместимый с Gradle 2.3+, будет выглядеть следующим образом:
model {
components {
hello(NativeExecutableSpec) {
sources {
cpp {
source {
srcDir "src/foo/bar"}
}
}
}
}
}
Вы можете узнать больше о новой модели в руководстве пользователя Gradle Вот.
Это еще один ответ.
Я использую Gradle 2.4.7. Мой исходный код является стандартом C ++, как в следующей структуре каталогов в Windows:
мой проект
MyProject \ SRC
MyProject \ SRC \ main.cpp
MyProject \ build.gradle
main.cpp — это просто программа Hello world C ++.
У меня Visual Studio 2015. Мне нравится использовать его компилятор C ++ для стандартных программ C ++.
build.gradle выглядит следующим образом:
apply plugin: 'cpp'
model {
components {
main(NativeExecutableSpec) {
sources {
cpp {
source {
srcDir "src"}
}
}
}
}
binaries {
all {
if (toolChain in VisualCpp) {
cppCompiler.args "-IC:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt"linker.args "/LIBPATH:C:\\Program Files (x86)\\Windows Kits\\10\\Lib\\10.0.10240.0\\ucrt\\x86"}
}
}
}
Дополнительные параметры компилятора и компоновщика связаны с некоторыми изменениями в Visual Studio 2015 по сравнению с предыдущими версиями. Без опций вы получите компиляцию, которая не может найти corecrt.h, или ошибка компоновщика, которая не может найти libucrt.lib.
Надеюсь, это поможет вам быстро начать компиляцию C ++ с Visual Studio 2015 !!!