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

#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/

10-10 13:21