bashbug / pcl-for-android Goto Github PK
View Code? Open in Web Editor NEWCross-compilation of PCL (point cloud library) for Android
License: BSD 3-Clause "New" or "Revised" License
Cross-compilation of PCL (point cloud library) for Android
License: BSD 3-Clause "New" or "Revised" License
已经安装了Eigen ,并且在/usr/include/eigen3目录下执行了
sudo cp Eigen/ .. -R
sudo cp unsupported/ .. -R
在KDevelop 中也可以引用到 ,但还是报这个错,详情是:
In file included from /home/xhb/.conan/data/pcl/1.9.1/bashbug/stable/build/1dbc8a6a865a8fad699417711b0b0b490d4d2d18/pcl/sample_consensus/src/sac_model_circle.cpp:39:
In file included from /home/xhb/.conan/data/pcl/1.9.1/bashbug/stable/build/1dbc8a6a865a8fad699417711b0b0b490d4d2d18/pcl/sample_consensus/include/pcl/sample_consensus/impl/sac_model_circle.hpp:44:
/home/xhb/.conan/data/pcl/1.9.1/bashbug/stable/build/1dbc8a6a865a8fad699417711b0b0b490d4d2d18/pcl/sample_consensus/include/pcl/sample_consensus/eigen.h:48:10: fatal error: 'unsupported/Eigen/NonLinearOptimization' file not found
#include <unsupported/Eigen/NonLinearOptimization>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
sample_consensus/CMakeFiles/pcl_sample_consensus.dir/build.make:86: recipe for target 'sample_consensus/CMakeFiles/pcl_sample_consensus.dir/src/sac_model_circle.cpp.o' failed
make[2]: *** [sample_consensus/CMakeFiles/pcl_sample_consensus.dir/src/sac_model_circle.cpp.o] Error 1
CMakeFiles/Makefile2:339: recipe for target 'sample_consensus/CMakeFiles/pcl_sample_consensus.dir/all' failed
make[1]: *** [sample_consensus/CMakeFiles/pcl_sample_consensus.dir/all] Error 2
make[1]: *** 正在等待未完成的任务....
CMake Error at cmake/conan.cmake:399 (message):
Conan install failed='1'
Call Stack (most recent call first):
cmake/conan.cmake:485 (conan_cmake_install)
CMakeLists.txt:7 (conan_cmake_run)
This the error i received when i run the program with JDK 11
The current master has a few outdated stuff causing a compile error. I managed to get a working copy with thsese fixes:
2)conanfile.py for pcl. The library name was outdated. fix:
Line66: self.requires("eigen/3.3.7")
Cross-build from 'Linux:x86_64' to 'Android:armv8'
Installing (downloading, building) binaries...
android-toolchain/r20@bashbug/stable: Already installed!
lz4/1.9.1@bashbug/stable: Already installed!
flann/1.9.1@bashbug/stable: Applying build-requirement: android-toolchain/r20@bashbug/stable
flann/1.9.1@bashbug/stable: WARN: Build folder is dirty, removing it: /home/docker/.conan/data/flann/1.9.1/bashbug/stable/build/0ae23ce156a999016ff3644328f7150befab40a6
flann/1.9.1@bashbug/stable: WARN: Trying to remove corrupted source folder
flann/1.9.1@bashbug/stable: WARN: This can take a while for big packages
flann/1.9.1@bashbug/stable: Configuring sources in /home/docker/.conan/data/flann/1.9.1/bashbug/stable/source
hello, how to make when I want to use ndk-r16 to do it? If it needs armeabi-v7a.
Hi,
Thanks a lot fo good guide.
I success build pcl using Ubuntu 16.04 and Android NDK 12b.
But when I add all libs and heades files to Android Studio can see error:
Error:fatal error: 'Eigen/Core' file not found
Looks like that builded PCL libs cannot find Eigen lib. Your approach not building Eigen library, but only referring to it.
Could you please suggest me how I can run this on Android Studio.
Hi
Cound you add an example to import the libraries into my project please?
Thanks!
Cross-build from 'Linux:x86_64' to 'Android:armv8' Installing (downloading, building) binaries... android-toolchain/r25b@bashbug/stable: Already installed! lz4/1.9.2@bashbug/stable: Applying build-requirement: android-toolchain/r25b@bashbug/stable lz4/1.9.2@bashbug/stable: WARN: Build folder is dirty, removing it: /root/.conan/data/lz4/1.9.2/bashbug/stable/build/278fbbfd93b48508f4bb6ebf2f52cc80110f5b26 lz4/1.9.2@bashbug/stable: Copying sources to build folder lz4/1.9.2@bashbug/stable: Building your package in /root/.conan/data/lz4/1.9.2/bashbug/stable/build/278fbbfd93b48508f4bb6ebf2f52cc80110f5b26 lz4/1.9.2@bashbug/stable: Generator txt created conanbuildinfo.txt lz4/1.9.2@bashbug/stable: Aggregating env generators lz4/1.9.2@bashbug/stable: Calling build() -- The C compiler identification is unknown -- The CXX compiler identification is unknown -- Detecting C compiler ABI info -- Detecting C compiler ABI info - failed -- Check for working C compiler: /root/.conan/data/android-toolchain/r25b/bashbug/stable/package/be241241e9d4718e5bab4eb33935bbb69606bb0c/android-ndk-r25b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -- Check for working C compiler: /root/.conan/data/android-toolchain/r25b/bashbug/stable/package/be241241e9d4718e5bab4eb33935bbb69606bb0c/android-ndk-r25b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang - broken CMake Error at /usr/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake:69 (message): The C compiler
"/root/.conan/data/android-toolchain/r25b/bashbug/stable/package/be241241e9d4718e5bab4eb33935bbb69606bb0c/android-ndk-r25b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: /root/.conan/data/lz4/1.9.2/bashbug/stable/build/278fbbfd93b48508f4bb6ebf2f52cc80110f5b26/armv8/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_19db5/fast && /usr/bin/gmake -f CMakeFiles/cmTC_19db5.dir/build.make CMakeFiles/cmTC_19db5.dir/build
gmake[1]: Entering directory '/root/.conan/data/lz4/1.9.2/bashbug/stable/build/278fbbfd93b48508f4bb6ebf2f52cc80110f5b26/armv8/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_19db5.dir/testCCompiler.c.o
/root/.conan/data/android-toolchain/r25b/bashbug/stable/package/be241241e9d4718e5bab4eb33935bbb69606bb0c/android-ndk-r25b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -o CMakeFiles/cmTC_19db5.dir/testCCompiler.c.o -c /root/.conan/data/lz4/1.9.2/bashbug/stable/build/278fbbfd93b48508f4bb6ebf2f52cc80110f5b26/armv8/CMakeFiles/CMakeTmp/testCCompiler.c
clang: error: no input files
gmake[1]: *** [CMakeFiles/cmTC_19db5.dir/build.make:78: CMakeFiles/cmTC_19db5.dir/testCCompiler.c.o] Error 1
gmake[1]: Leaving directory '/root/.conan/data/lz4/1.9.2/bashbug/stable/build/278fbbfd93b48508f4bb6ebf2f52cc80110f5b26/armv8/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:127: cmTC_19db5/fast] Error 2
CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:2 (project)
I have compiled arm64-v8a sucessfully, but when I make the project, there is an error:
C/C++ debug|arm64-v8a : CMake Error at /home/ming/AndroidStudioProjects/pcl-for-android/example-app/app/.cxx/cmake/debug/arm64-v8a/conanbuildinfo.cmake:1065 (message):
Detected a mismatch for the compiler version between your conan profile
settings and CMake:
Compiler version specified in your conan profile: 8
Compiler version detected in CMake: 9.0
Please check your conan profile settings (conan profile show
[default|your_profile_name])
How should I do? Thanks.
I successfully built the PCL for Android arm64-v8a libraries, but then got an error attempting
to build the example app. Appears to be an issue with Gradle configuration.
It is a bit confusing as the message
Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
conflicts with the fact that Gradle 5.1.1 was apparently downloaded / used
Also I found the message:
Detected a mismatch for the compiler version between your conan profile
settings and CMake:
Compiler version specified in your conan profile: 8
Compiler version detected in CMake: 9.0
So then I changed ~/.conan/profiles/arm64-v8a to specify
compiler.version=9
instead of
compiler.version=8
and tried the build again
$ cd ~/Downloads/pcl-for-android/example-app
$ ./gradlew clean assemble
This time it seemed to get stuck at 26% EXECUTING of the :app:generateJsonModelDebug
step for a long time
Any suggestions ?
###########################################
###########################################
usage: conan create [-h] [-f FORMAT] [-v [V]] [--name NAME]
[--version VERSION] [--user USER] [--channel CHANNEL]
[-l LOCKFILE] [--lockfile-partial]
[--lockfile-out LOCKFILE_OUT] [--lockfile-packages]
[--lockfile-clean] [-b BUILD] [-r REMOTE | -nr] [-u]
[-o OPTIONS_HOST] [-o:b OPTIONS_BUILD] [-o:h OPTIONS_HOST]
[-pr PROFILE_HOST] [-pr:b PROFILE_BUILD]
[-pr:h PROFILE_HOST] [-s SETTINGS_HOST]
[-s:b SETTINGS_BUILD] [-s:h SETTINGS_HOST] [-c CONF_HOST]
[-c:b CONF_BUILD] [-c:h CONF_HOST] [--build-require]
[-tf TEST_FOLDER]
path
conan create: error: unrecognized arguments: bashbug/stable
ERROR: Exiting with code: 2
Hi, I cannot get to build the PCL for android for an ABI different than armeabi-v7a.
I have tried to change the first line in the pcl-build-for-android.sh script to needed ABI, but no luck.. Any help?
Hello !
I followed every steps and during the "./pcl-build-for-android.sh", the compiler tells that I have not any NDK. But when I do a echo $ANDROID_NDK or a printenv ANDROID_NDK the good path is printed.
I have the r10e Android NDK, maybe it is not compatible ?
Can someone help me ?
I changed the examples/CMakeLists.txt and turn on only common example building, with this:
set(SUBSYS_DEPS common)
set(build TRUE)
PCL_SUBSYS_OPTION(build ${SUBSYS_NAME} ${SUBSYS_DESC} ON)
PCL_SUBSYS_DEPEND(build ${SUBSYS_NAME} DEPS ${SUBSYS_DEPS})
but the ninja find libboost_filesystem.a which is exactly libboost_filesystem-clang-mt-a32-1_71.a
-- Build files have been written to: C:/Users/username/.conan/data/pcl/1.9.1/bashbug/stable/build/edf8fc3f2f92012e3ef85012b21cfa3182a52d47/armv7
ninja: error: 'C:/Users/username/.conan/data/boost/1.71.0/bashbug/stable/package/4e65a98fd5c197b6539ce5c3062c84123c059f0c/lib/libboost_filesystem.a', needed by 'bin/pcl_example_copy_point_cloud', missing and no known rule to make it
how to tell ninja the full file name of boost_filesystem?
Hi,
I add pcl removing outliers such as StatisticalOutlierRemoval filter in native-lib.cpp using example-app project with its default CMakeLists.
When building the project using Android Studio, it always throws errors like:
/opt/conan/data/pcl/1.9.1/bashbug/stable/build/1dbc8a6a865a8fad699417711b0b0b490d4d2d18/pcl/search/include/pcl/search/impl/kdtree.hpp:48: undefined reference to `pcl::KdTreeFLANN<pcl::InterestPoint, flann::L2_Simple >::KdTreeFLANN(bool)'
I don't know how to sovle this, so here ask for your help.
how to enable Qhull and VTK??
I modify qhull and VTK as ON:
cmake.definitions["WITH_QHULL"] = "ON"
cmake.definitions["WITH_VTK"] = "ON"
but nothing happen. I cannot get the result that i wish.
how to do??
Hi,I got this error:
ERROR: flann/1.9.1@bashbug/stable: Error in source() method, line 48
git.clone("https://github.com/mariusmuja/flann.git", self.version)
CalledProcessError: Command 'git clone "https://github.com/mariusmuja/flann.git" . --branch 1.9.1 ' returned non-zero exit status 128.
and I can use Git normally.
I don't know how to solve it.I need your help.
Hello,
I have compilation error when running ./pcl-build-for-android.sh arm64-v8a
. For armeabi-v7a
and x86_64
it's working well.
The error occurs when compiling boost
. You can see a part of the error log below. This might be related to boostorg/context#5 but I don't think because it's fixed since a while.
I am using the exact versions of boost and conan that are described in Readme. I am running this on MacOS.
The error log :
warning: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: warning for library: bin.v2/libs/container/build/clng-drwn-andrd/rls/lnk-sttc/trgt-os-andrd/thrd-mlt/vsblt-hdn/libboost_container.a the table of contents is empty (no object file members in the library define global symbols)
common.copy /Users/thomas/.conan/data/boost/1.70.0/bashbug/stable/build/837b8b15700337e070bce7d978d7be2a5fc61d31/boost_1_70_0/armv8/lib/libboost_container.a
clang-darwin.compile.asm bin.v2/libs/context/build/clng-drwn-andrd/rls/abi-apcs/lnk-sttc/trgt-os-andrd/thrd-mlt/vsblt-hdn/asm/make_arm64_aapcs_macho_gas.o
libs/context/src/asm/make_arm64_aapcs_macho_gas.S:59:21: error: unexpected token in argument list
; shift address in x0 (allocated stack) to lower 16 byte boundary
^
libs/context/src/asm/make_arm64_aapcs_macho_gas.S:62:21: error: unexpected token in argument list
; reserve space for context-data on context-stack
^
libs/context/src/asm/make_arm64_aapcs_macho_gas.S:65:17: error: unexpected token in argument list
; third arg of make_fcontext() == address of context-function
^
libs/context/src/asm/make_arm64_aapcs_macho_gas.S:66:21: error: unexpected token in argument list
; store address as a PC to jump in
^
libs/context/src/asm/make_arm64_aapcs_macho_gas.S:69:19: error: unexpected token in argument list
; compute abs address of label finish
^
libs/context/src/asm/make_arm64_aapcs_macho_gas.S:70:7: error: unexpected token at start of statement
; 0x0c = 3 instructions * size (4) before label 'finish'
^
libs/context/src/asm/make_arm64_aapcs_macho_gas.S:72:28: error: unexpected token in argument list
; TODO: Numeric offset since llvm still does not support labels in ADR. Fix:
^
libs/context/src/asm/make_arm64_aapcs_macho_gas.S:76:20: error: unexpected token in argument list
; save address of finish as return-address for context-function
^
libs/context/src/asm/make_arm64_aapcs_macho_gas.S:77:15: error: unexpected token in argument list
; will be entered after context-function returns (LR register)
^
libs/context/src/asm/make_arm64_aapcs_macho_gas.S:80:29: error: unexpected token in argument list
ret lr ; return pointer to context-data (x0)
^
libs/context/src/asm/make_arm64_aapcs_macho_gas.S:83:17: error: unexpected token in argument list
; exit code is zero
^
libs/context/src/asm/make_arm64_aapcs_macho_gas.S:85:7: error: unrecognized instruction mnemonic, did you mean: ext, extr?
; exit application
Thank you for your work
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.