我正在尝试在项目中使用 LibUSB。但是,每当我尝试使用基本的 libUSB 函数时,都会出现以下错误:
...src/main/main.cpp.o: In function `main':
...src/main/main.cpp:10: undefined reference to `libusb_init'
...src/main/main.cpp:11: undefined reference to `libusb_set_debug'
collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
安装了 LibUSB-devel 包(我在 Fedora 22 上)并且我的 IDE KDevelop 找到并识别标头,一旦您添加了 import 语句,它就会提供 LibUSB 代码完成。我的 IDE 或 CMake(我的构建系统)中没有任何自定义包含行,所以我想知道我需要做什么才能让 CMake 找到 LibUSB 标头。
这是 的内容main.cpp,以防万一我搞砸了:
#include <iostream>
#include <libusb-1.0/libusb.h>
int main(int argc, char **argv) {
libusb_init(NULL);
libusb_set_debug(NULL, LIBUSB_LOG_LEVEL_WARNING);
/*snip*/
std::cout << "Hello, world! PTPID=" << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
以下是CMakeLists.txt:
../
cmake_minimum_required(VERSION 2.8.11)
set(CMAKE_CXX_FLAGS …Run Code Online (Sandbox Code Playgroud)