0

我有以下问题:

我在 64 位 Ubuntu 上使用 32 位版本的 Qt。在我的项目中,我想包含 FCam 库,以便为诺基亚 N900 手机的摄像头编程。当我在项目文件中包含库的路径时,Qt 似乎找不到它或只是不使用它,因为我收到以下错误消息:

undefined reference to "FCam::Image::Image(FCam::Image const&)"

我的 Libs 行如下所示:

LIBS += -lpthread -ljpeg  -Llib -L/home/username/FCam

我不知道为什么这不起作用,因为我有另一个可以使用的示例项目。我也尝试了该行的一些变体,但徒劳无功。

谢谢你的回答,茨维蒂

4

2 回答 2

1

看来你混淆了你的 libs 语句的正确顺序 - 从我得到的一些信息来看,我预计会这样:

LIBS += -L/home/username/FCam -lFCam -lpthread -ljpeg

为什么按这个顺序?

因为首先您必须通过 -L[MY_LIB_DIR] 定义库的位置。

接下来,您必须通过 -lMyLib 添加您的库 - 您的库文件必须命名为 libMyLib.a 或 libMyLib.so。

最后添加系统库,因为您的应用程序或库可能会依赖于系统库,例如 pthread 和 jpeg。

试试新订单,我相信你会得到它;)

乔,克里斯

于 2011-02-06T18:53:28.417 回答
1

使用 -L/home/username/FCam 您告诉链接器在查找它应该链接的库时查看该目录。您需要告诉它要再次链接哪个库(使用 -l 完成)。我不知道你的库,但似乎你应该添加一个 --lfcam 或类似的东西。

于 2011-02-06T16:16:19.427 回答