Open vittoema96 opened 1 year ago
I also encountered this problem, and I know why. I used IDA to reversely view the symbol tables of all compiled functions, and found that open3d::io does not exist. Then I found this sentence in the readme: "in this fork IO module is removed since some external libraries are hard to compile (turbojpeg).". The IO code is also commented out in the patch file, so of course IO cannot be used.
Whenever i try to call CreateImageFromFile (or any other method from this library that receives an std:string as an argument), during compilation i get hit with the following error:
C/C++: ld: error: undefined symbol: open3d::io::CreateImageFromFile(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&)
I understand that it may be a compilation/ndk problem, but not much more than that.Here I'll explain how i compiled the project and setup the Android Studio environment:
I am trying to build on Windows 10 I have version 3.14 of CMake installed
I have cloned the project with git clone https://github.com/InstytutXR/open3d-core-android. I have edited the CMakeLists.txt file to download version 0.9.0 instead of 0.10.0 (keeping 0.10 did not work) Inside the downloaded project folder, I have run the commands:
This part correclty builds (aka no errors thrown)
Now i created an Android Studio Native C++ project.
My app's gradle.build file looks like this:
In gradle.properties I have set the following property ABI_FILTERS=armeabi-v7a;arm64-v8a (these 2 are the only ones i have compiled)
My CMakeLists.txt file (inside Android Studio's cpp folder) looks like this:
Lastly, my native-lib.cpp file (inside Android Studio's cpp folder) looks like this:
Can anyone help me out on understanding what that error might mean and how to resolve it?