- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 C++ 中使用 libfreenect 打印已连接设备的数量。如 https://openkinect.org/wiki/C%2B%2B_Wrapper 中所述我在我的 TestKinectConnection.cpp 中包含了 libfreenect.hpp 头文件。
我的 TestKinectConnection.cpp:
#include <iostream>
#include "libfreenect.hpp"
using namespace std;
int main(void) {
Freenect::Freenect nect;
freenect_context *f_ctx;
cout << nect.deviceCount() << endl;
return(0);
}
当我使用 cmake --build build -- -j3
构建时,终端显示
CMakeFiles/projektinf.dir/src/main/TestKinectConnection.cpp.o: In function `Freenect::Freenect::Freenect()':
TestKinectConnection.cpp:(.text._ZN8Freenect8FreenectC2Ev[_ZN8Freenect8FreenectC5Ev]+0x40): undefined reference to `freenect_init'
TestKinectConnection.cpp:(.text._ZN8Freenect8FreenectC2Ev[_ZN8Freenect8FreenectC5Ev]+0x90): undefined reference to `freenect_select_subdevices'
TestKinectConnection.cpp:(.text._ZN8Freenect8FreenectC2Ev[_ZN8Freenect8FreenectC5Ev]+0xb0): undefined reference to `pthread_create'
CMakeFiles/projektinf.dir/src/main/TestKinectConnection.cpp.o: In function `Freenect::Freenect::~Freenect()':
TestKinectConnection.cpp:(.text._ZN8Freenect8FreenectD2Ev[_ZN8Freenect8FreenectD5Ev]+0xa5): undefined reference to `pthread_join'
TestKinectConnection.cpp:(.text._ZN8Freenect8FreenectD2Ev[_ZN8Freenect8FreenectD5Ev]+0xb4): undefined reference to `freenect_shutdown'
CMakeFiles/projektinf.dir/src/main/TestKinectConnection.cpp.o: In function `Freenect::Freenect::deviceCount()':
TestKinectConnection.cpp:(.text._ZN8Freenect8Freenect11deviceCountEv[_ZN8Freenect8Freenect11deviceCountEv]+0x17): undefined reference to `freenect_num_devices'
CMakeFiles/projektinf.dir/src/main/TestKinectConnection.cpp.o: In function `Freenect::Freenect::operator()()':
TestKinectConnection.cpp:(.text._ZN8Freenect8FreenectclEv[_ZN8Freenect8FreenectclEv]+0x4f): undefined reference to `freenect_process_events_timeout'
collect2: error: ld returned 1 exit status
CMakeFiles/projektinf.dir/build.make:95: recipe for target '../bin/projektinf' failed
make[2]: *** [../bin/projektinf] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/projektinf.dir/all' failed
make[1]: *** [CMakeFiles/projektinf.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
我的 CMakeLists.txt:
# Specify the minimum version for CMake
cmake_minimum_required(VERSION 3.10)
# Project's name
project(projektinf)
# Set the output folder where your program will be created
set(CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/bin)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin)
set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/lib)
set(PROJECT_SOURCE_DIR ${CMAKE_SOURCE_DIR})
set(EXTERNAL_INSTALL_LOCATION ${CMAKE_SOURCE_DIR}/lib)
# The following folder will be included
include_directories("${PROJECT_SOURCE_DIR}/src/include")
add_executable(projektinf ${PROJECT_SOURCE_DIR}/src/main/TestKinectConnection.cpp)
add_library(libfreenect ${PROJECT_SOURCE_DIR}/src/include/libfreenect.hpp)
target_link_libraries(projektinf PUBLIC libfreenect)
set_target_properties(libfreenect PROPERTIES LINKER_LANGUAGE CXX)
https://github.com/OpenKinect/libfreenect/blob/master/wrappers/cpp/libfreenect.hpp
https://github.com/OpenKinect/libfreenect/blob/master/include/libfreenect.h
简而言之,libfreenect.hpp 试图包含 libfreenect.h 但完全失败了。
最佳答案
根据您的问题,不清楚您是全局安装了 libfreenect 还是只是将库与您的代码捆绑在一起。
如果你全局安装它,你忘了告诉 CMake libfreenect
目标需要与 libfreenect.so
链接使用 -lfreenect
链接器标志。添加以下内容应该可以解决这个问题:
set_property(TARGET libfreenect PROPERTY INTERFACE_LINK_LIBRARIES -lfreenect)
正确的方法是制作libfreenect
一个 IMPORTED 目标,如 "It's time to do CMake right" 中所述.
如果您捆绑了 .cpp
使用您的代码,您需要添加 .cpp
文件到 add_library
定义 libfreenect
的语句目标。
关于c++ - libfreenect c++ 包装器中的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58857067/
在制作 Java JNA Wrapper 时出现以下错误对于 libfreenect : -------------------------------------------------------
我一直在我的项目中使用 OpenNI+PrimeSense+NiTE 和 OpenCV 根据对象的距离来分割对象。然而,我打算将它部署在 NVIDIA Jetson TX1 板上,但它无法使用 Ope
所以我知道这个问题之前已经完成,但其他大部分时间仍然是 OpenNI 和 Libfreenect 都被剥离的时候。我的问题是: 1)我想知道现在是什么状态。2)这两者之间的差异(优点,缺点和其他)3)
我正在尝试在 Ubuntu 12.04(无法升级)上编译 this code 作为我需要执行的另一个程序的基础,但是,我认为我在 PHP/Python 世界中花费了太多时间并且出现了此错误让我发疯了。
如何将来自 kinect v1 的数据存储到 Linux 上的 xyzrgb 云中?我已经编写了涉及 kinect 的项目的 pcl 部分,只需编写打开流并返回点云数据的 kinect 部分。我进行了
我有一个 kinect 1473 和 mac osx,我正在尝试通过处理访问我的 kinect。所以我看到了几个选项: 使用 Daniel Shiffman 的图书馆 使用SimpleOpenNI 这
我正在通过 openFrameworks 在 C++ 中访问 Kinect 加速度计和 ofxKinect并且在某些角度上有一些问题。如果我将 kinect 向下倾斜 90 度,我会得到 nan 值。
我正在 libfreenect 驱动程序上玩 Kinect(原始 Xbox 版本)(顺便说一句,我在 Ubuntu 12.04 上)。我已经从 git 克隆了最新版本并按照此处的说明手动安装:http
我正在尝试使用 kinect 捕捉视频以进行视频/图像处理我发现 libfreenect/build/bin 文件夹中有一个名为 fakenect-record 的脚本可以为我做这个 当我使用它时,它
我想在 C++ 中使用 libfreenect 打印已连接设备的数量。如 https://openkinect.org/wiki/C%2B%2B_Wrapper 中所述我在我的 TestKinectC
我正在尝试构建 libfreenect在 Ubuntu 中的 WSL 中。我目前面临这一行确定的问题: /bin/sh: 1: CYTHON_EXECUTABLE-NOTFOUND: not foun
我正在尝试在我的 ubuntu 16.04 系统和 libfreenect 库中安装 kinect 360,但遇到了 cmake 问题。我应该怎么做才能解决这个问题?非常感谢你们! In file i
所以我正在尝试通过使用 libfreenect 驱动程序和 OpenCV 来使用 Kinect。我希望能够使用 CMake 创建项目。我能够获得适合我的 CMakeList,以便能够加载 OpenCV
我正在尝试在我的 Windows 8(64 位)笔记本电脑上安装带有 Python 包装器的 libfreenect。我在 Anaconda 2.3.0 中使用 Python 3.4.3。我似乎已经处
我正在尝试使用 libfreenect Python 绑定(bind)以一些合理的单位(厘米或不太关心)获取 xbox kinect 深度图像。 为此,我试图通过以下方式将默认的 kinect 深度模
我在 Ubuntu 平台上使用 OpenCv 和 OpenKinect 来访问 Kinect 传感器。主要错误是:undefined reference to `freenect_sync_get_r
我是一名优秀的程序员,十分优秀!