c++ - libuvc 程序无法编译

标签 c++ c gcc ld

我正在尝试在我的一个 C/C++ 项目中使用 libuvc。我成功地从源代码编译并安装了 libusb 和 libuvc,当我尝试使用 gcc 编译以下代码时:

#include "libuvc/libuvc.h"

int main (int argc, const char **argv) {
    uvc_init(NULL, NULL);
}

我收到以下错误:

Undefined symbols for architecture x86_64:
  "_uvc_init", referenced from:
      _main in main-de2855.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我使用的是 MacOS High Sierra 10.13.1 x64。

最佳答案

我使用了命令:

gcc main.c -luvc -o main

成功了!添加 -luvc 标志解决了我的问题,但我不明白为什么我需要使用它。我以前在处理其他 C/C++ 依赖项时从未需要过标志。

关于c++ - libuvc 程序无法编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52133999/

相关文章:

c - 在文件描述符上使用 fwrite/将文件描述符转换为文件指针

c++ - 为什么这个函数调用在通过类型转换的函数指针调用它后表现得很好?

C++ 快板 5 错误

C++生成线程安全的随机数

mysql - 在多线程应用程序中使用 libmysqlclient

c - 段错误加入线程号 5 (pthread_join)

gcc - 静态 C 变量未初始化

c++ - std::async 不并行化任务

c++ - opencv图像窗口/imshow

c++ - 将 int 添加到 char 数组