Ich versuche Boost 1.58 für Android NDK R14b mit Clang 3,8 zu bauen. Ich habe es richtig mit gcc arbeiten, aber es ist nicht der Fall mit Clang.Gebäude Boost (1.58) mit Clang (3.8) und Android NDK r14b
Durch den folgenden Befehl ausführen (es ist ein einziges Beispiel auf program_options lib):
"androidNDK/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++"
-c
-x c++
-std=c++11
--stdlib=libc++
-mthumb
-Os
-O2
-g
-Wno-unused-local-typedefs
-O3
-Wno-inline
-Wall
--sysroot=androidNDK/platforms/android-24/arch-arm
-I"androidNDK/sources/cxx-stl/llvm-libc++/include"
-D_GLIBCXX__PTHREADS
-D__arm__
-D_REENTRANT
-D__ANDROID__
-DANDROID
-pthread
-std=c++11
--stdlib=libc++
-mthumb
-fno-strict-aliasing
-DBOOST_ALL_NO_LIB=1
-DBOOST_TEST_NO_MAIN
-DNDEBUG
-D_HAS_EXCEPTIONS=0
-D_LITTLE_ENDIAN
-I"."
-o "bin.v2\libs\program_options\build\clang-linux-android\release\link-static\runtime-link-static\target-os-linux\threadapi-pthread\threading-multi\config_file.o" "libs\program_options\src\config_file.cpp"
Aber ich habe einige Fehler auf der signal.h Datei:
clang++.exe: warning: argument unused during compilation: '-mthumb'
clang++.exe: warning: argument unused during compilation: '-mthumb'
In file included from libs\program_options\src\config_file.cpp:8:
In file included from .\boost/program_options/config.hpp:10:
In file included from .\boost/config.hpp:57:
In file included from .\boost/config/platform/linux.hpp:74:
In file included from .\boost/config/posix_features.hpp:18:
In file included from androidNDK/platforms/android-24/arch-arm/usr/include\unistd.h:34:
In file included from androidNDK/platforms/android-24/arch-arm/usr/include\sys/select.h:35:
androidNDK/platforms/android-24/arch-arm/usr/include\signal.h:86:18: error: expected ';' at
end of declaration list
sighandler_t sa_handler;
^
androidNDK/platforms/android-24/arch-arm/usr/include\asm/signal.h:101:22: note: expanded
from macro 'sa_handler'
#define sa_handler _u._sa_handler
^
In file included from libs\program_options\src\config_file.cpp:8:
In file included from .\boost/program_options/config.hpp:10:
In file included from .\boost/config.hpp:57:
In file included from .\boost/config/platform/linux.hpp:74:
In file included from .\boost/config/posix_features.hpp:18:
In file included from androidNDK/platforms/android-24/arch-arm/usr/include\unistd.h:34:
In file included from androidNDK/platforms/android-24/arch-arm/usr/include\sys/select.h:35:
androidNDK/platforms/android-24/arch-arm/usr/include\signal.h:87:12: error: expected ')'
void (*sa_sigaction)(int, struct siginfo*, void*);
^
androidNDK/platforms/android-24/arch-arm/usr/include\asm/signal.h:102:24: note: expanded
from macro 'sa_sigaction'
#define sa_sigaction _u._sa_sigaction
^
androidNDK/platforms/android-24/arch-arm/usr/include\signal.h:87:10: note: to match this
'('
void (*sa_sigaction)(int, struct siginfo*, void*);
^
androidNDK/platforms/android-24/arch-arm/usr/include\signal.h:87:12: error: duplicate
member '_u'
void (*sa_sigaction)(int, struct siginfo*, void*);
^
androidNDK/platforms/android-24/arch-arm/usr/include\asm/signal.h:102:22: note: expanded
from macro 'sa_sigaction'
#define sa_sigaction _u._sa_sigaction
^
androidNDK/platforms/android-24/arch-arm/usr/include\signal.h:86:18: note: previous
declaration is here
sighandler_t sa_handler;
^
androidNDK/platforms/android-24/arch-arm/usr/include\asm/signal.h:101:20: note: expanded
from macro 'sa_handler'
#define sa_handler _u._sa_handler
^
3 errors generated.
Gibt es jemanden, hat schon sowas gemacht oder könnte etwas falsch sehen?
Sieht aus wie es könnte ein Fehler sein. Könnten Sie einen mit Repro-Anweisungen einreichen? https://github.com/android-ndk/ndk/issues –