Я с трудом пытаюсь найти примеры родной сборки 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
К сожалению, я могу подать пример о том, как сделать
назвать несколько вещей.
Задача ещё не решена.
Других решений пока нет …