1

我将 libdc1394-2.2 用于相机 Bumblebee2。但是,当我尝试使用以下代码释放带宽时:

if (dc1394_iso_release_bandwidth(camera, val)==DC1394_SUCCESS)
    printf( "Succesfully released %d bytes of bandwidth\n", val);

引发下一个错误:

undefined reference to `dc1394_iso_release_bandwidth'

但是,函数“dc1394_iso_release_bandwidth”包含在“iso.h”中,并且该头文件包含在主程序中。

有人知道如何解决问题吗?

4

1 回答 1

0

您是对的,该函数确实列在 dc1394-2 流iso.h头文件中,并且没有复杂的条件编译可能导致它不出现在您的翻译单元中。

可能是一个问题的一件事是相当常见的名称iso.h- 我会修改您的g++编译语句以包含一个-H标志,该标志应列出正在加载的标头。您正在加载的头文件可能实际上不是那个文件。iso.hdc1394

我知道,这是一个远射,但值得检查是否只是为了打折这种可能性。

于 2015-07-31T08:17:51.757 回答