Well, then why does it produce 32-bit binaries? It is easy to verify, step by step: 1. Download and unzip the file that you provided: unzip BSEC_1.4.8.0_Raspb_x64_Release_20200904.zip 2. Extract binary objects from the static library libalgobsec.a with ar ar x libalgobsec.a 3. Verify the bitness of binary objects cd BSEC_1.4.8.0_Raspb_x64_Release_20200904/algo/normal/bin/RaspberryPi/x64/PiThree_ArmV8 for f in `ls *.o`; do file $f; done Bsec.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped Channel.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped ChannelHub.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped Entity.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped ExpSmoothing.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped ExpSmoothingBsec.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped GasHumidityBaselineTracker.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped GasHumidityPreProcessor.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped HumidityTemperatureCorrector.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped IaqEstimator.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped SensorHeatCompensator.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped SensorStatusTracker.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped Serialization.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped absHum.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped applyScalarFunctionInPlace.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped bsec_codegen_data.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped bsec_codegen_do_steps.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped bsec_codegen_get_configuration.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped bsec_codegen_get_state.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped bsec_codegen_get_version.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped bsec_codegen_init.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped bsec_codegen_reset_output.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped bsec_codegen_rtwutil.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped bsec_codegen_sensor_control.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped bsec_codegen_set_configuration.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped bsec_codegen_set_state.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped bsec_codegen_update_subscription.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped bsec_interface.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped constructor_bsec.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped convertHumidity.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped crcCcitt2.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped isequal.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped log.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped log10.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped polyval.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped sin.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped sqrt.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped As you see, they all 32-bit binaries (ELF 32-bit)! I suspect that even your hardware is 64-bit (if it is Raspberry PI 3, then for sure it is 64-bit) but your OS is 32-bit. Is it Rasperrian? Just simply run the "file" command on your gcc compiler binary to verify it. Here is what mine shows: file /usr/bin/aarch64-linux-gnu-gcc-7 /usr/bin/aarch64-linux-gnu-gcc-7: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=3a5223b90c905cab7dc44678133d22f44650872f, stripped As you see, mine is 64-bit compiler (ELF 64-bit LSB executable). PS. For -m64 to work, you may need to install gcc-multilib libraries.
... View more