Gradle 4.7: заголовочные файлы не включены, даже если они перечислены

Я с трудом пытаюсь найти примеры родной сборки Gradle. Я могу сделать это:

g++ -I '../..' -c rowcoldecoder.cc rowcolencoder.cc rowcolparser.cc

и получить .o для каждого и без ошибок. В Gradle 4.7 следующий файл build.gradle:

apply plugin: 'cpp'model {
components {
rowfmt(NativeLibrarySpec) {
sources {
cpp {
source {
srcDir "."include  'rowcoldecoder.cc' // Is here
include  'rowcoldecoder.cc' // a better way
include  'rowcolparser.cc'  // to do this?
}
exportedHeaders {
srcDir '.'
}
}
}
}
}

binaries {
withType(SharedLibraryBinarySpec) {
if (targetPlatform.operatingSystem.linux) {
cppCompiler.args '-c', '-g', '-fPIC'
cppCompiler.args '-I ../..'  // <-- doesn't work
linker.args '-pthread'
}
}
}
}

дать следующее:

$ gradle rowfmtSharedLibrary
/home/vxc/workarea/row/src/bs/common/rowfmt/rowcoldecoder.cc:3:42: fatal error: common/rowfmt/rowcolinternal.h: No such file or directory

#include "common/rowfmt/rowcolinternal.h"^
compilation terminated.

rowfmt:compileRowfmtSharedLibraryRowfmtCpp FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':common:rowfmt:compileRowfmtSharedLibraryRowfmtCpp'.
> A build operation failed.
C++ compiler failed while compiling rowcoldecoder.cc.
See the complete log at: file:///home/vxc/workarea/row/build/src/bs/common/rowfmt/tmp/compileRowfmtSharedLibraryRowfmtCpp/output.txt

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

К сожалению, я могу подать пример о том, как сделать

  • -Я относительный_включить_путь
  • как добавить в CPPATH
  • добавить библиотеки в сборку
  • перечислить путь к библиотеке

назвать несколько вещей.

0

Решение

Задача ещё не решена.

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

Других решений пока нет …