Golang cgo librealsense stati c сборка не удалась - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь собрать программу stati c golang, которая использует Realsense SDK.
Она работает в режиме отладки, и если я запускаю простую команду go build.
Я хочу собрать ее stati c и сделать его более переносимым.
мой cgo конфиг выглядит следующим образом:

/*
#cgo CXXFLAGS:   --std=c++11  -Wall -O3 -mavx -DNDEBUG -march=native -DWITH_QT=OFF -DWITH_GTK=OFF -DUSE_AVX_INSTRUCTIONS=ON
#cgo LDFLAGS: -L/usr/lib/x86_64-linux-gnu/ -L/usr/local/lib  -lrealsense2
#cgo CPPFLAGS: -I/usr/local/include
#include <stdlib.h>
#include <stdint.h>
#include <rs.h> // Include RealSense wraper
*/

Я установил realsense, используя следующий скрипт:

    git clone https://github.com/IntelRealSense/librealsense.git $(TMP_DIR)librealsense
    cd $(TMP_DIR)librealsense
    ./scripts/setup_udev_rules.sh
    ./scripts/patch-realsense-ubuntu-lts.sh
    mkdir build && cd build
    cmake ../ -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=false -DBUILD_GRAPHICAL_EXAMPLES=false -DBUILD_SHARED_LIBS=false -DIMPORT_DEPTH_CAM_FW=false
    sudo make uninstall && make clean && make && sudo make install
    sudo ldconfig

мой go сценарий build make следующий:

build_static:
    export CGO_CPPFLAGS="-I/usr/local/include"
    export CGO_LDFLAGS="-L/usr/lib/x86_64-linux-gnu/ -L/usr/local/lib -lrealsense2"
    CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build --ldflags '-extldflags "-lstdc++ -static "' -o $(BINDIR)main_static -v

У меня очень небольшой опыт работы с проектами на c ++ и конфигурациями сборки.
Как собрать бинарный файл c go с realsense?

...