Добавление собственных статических зависимостей

В проекте C ++ Gradle я использую библиотеку boost 1.49.

Как я могу добавить эту библиотеку в качестве зависимости моего проекта.

Я пытаюсь таким образом, но я должен определить boost как зависимость. Есть хранилище библиотеки C ++?

apply plugin: 'cpp'

libraries {
hello {
baseName 'hello'
}
}

sources {
hello{
cpp {
source.srcDirs = ['src']
lib library: 'boost', linkage: 'api'
exportedHeaders.srcDirs = ['include']
}
}
}

3

Решение

Программирование на c / cpp — это не домен (в отличие от gradle;)), но когда вы переходите к $GRADLE_HOME/samples/native-binaries Вы можете найти много полезных примеров там.

Один из них — Кунит (о, есть еще один: мульти-проект) имеет такую ​​конфигурацию — это может быть полезно для вас. Ниже прилагаю build.gradle от Кунит — в случае, если вы используете упаковщик Gradle.

apply plugin: "c"apply plugin: "cunit"
model {
flavors {
passing
failing
}
repositories {
libs(PrebuiltLibraries) {
cunit {
headers.srcDir "lib/cunit/2.1-2/include"binaries.withType(StaticLibraryBinary) {
staticLibraryFile =
file("lib/cunit/2.1-2/lib/" +
findCUnitLibForPlatform(targetPlatform))
}
}
}
}
}

libraries {
operators {}
}
binaries.withType(CUnitTestSuiteBinarySpec) {
lib library: "cunit", linkage: "static"
if (flavor == flavors.failing) {
cCompiler.define "PLUS_BROKEN"}
}

def findCUnitLibForPlatform(Platform platform) {
if (platform.operatingSystem.windows) {
return "vs2010/cunit.lib"//        return "vs2013/cunit.lib"//        return "cygwin/cunit.lib"//        return "mingw/cunit.lib"} else if (platform.operatingSystem.macOsX) {
return "osx/libcunit.a"} else {
return "linux/libcunit.a"}
}

Быстрый поиск в Google показал, что нет такого понятия, как хранилище библиотек для проектов c / cpp. Похоже, что библиотеки должны быть включены в исходные тексты проекта.

1

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


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector