我正在尝试使用 CGO 来使用 realsense2.dll(英特尔的 RealSense 相机库)。我在 Windows 11 x64 上。
当我的目录布局为:
rs2test
去.mod
realsense2.dll
context.go(C 代码的包装器)
devicelist.go(C 代码的包装器)
error.go(C 代码的包装器)
main.go
在 C 代码文件的每个包装器中,我有以下指令:
/*
#cgo CFLAGS: -I../../../include/librealsense2
#cgo LDFLAGS: -L${SRCDIR} -lrealsense2
#include "../../../include/librealsense2/rs.h"
#include "../../../include/librealsense2/h/rs_context.h"
#include "../../../include/librealsense2/h/rs_pipeline.h"
#include "../../../include/librealsense2/h/rs_option.h"
#include "../../../include/librealsense2/h/rs_frame.h"
*/
但是,当我尝试将包装文件放入自己的包中时,如下所示:
rs2test
rs2/context.go
rs2/devicelist.go
rs2/error.go
rs2/realsense2.dll
去.mod
main.go
并将指令更改为:
#cgo CFLAGS: -I../../../../include/librealsense2
#cgo LDFLAGS: -L${SRCDIR} -lrealsense2
#include "../../../../include/librealsense2/rs.h"
#include "../../../../include/librealsense2/h/rs_context.h"
#include "../../../../include/librealsense2/h/rs_pipeline.h"
#include "../../../../include/librealsense2/h/rs_option.h"
#include "../../../../include/librealsense2/h/rs_frame.h"
我得到退出状态 0xc0000135 谷歌说这意味着应用程序未能正确初始化。
我也试过 -L${SRCDIR}/rs2 但它说 -lrealsense2 没有找到。
梦里花落0921
相关分类