我有以下问题:
我在64位Ubuntu上使用32位版本的Qt。在我的项目中,我想要包含库FCam,以便为诺基亚N900手机的相机进行编程。当我在项目文件中包含库的路径时,似乎Qt找不到它或者只是不使用它,因为我收到以下错误消息:
undefined reference to "FCam::Image::Image(FCam::Image const&)"
My Libs-line看起来像这样:
LIBS += -lpthread -ljpeg -Llib -L/home/username/FCam
我不知道为什么这不起作用,因为我有另一个可行的示例项目。我也尝试了一些线路的变化,但是徒劳无功。
感谢您的回答, Tsveti
答案 0 :(得分:1)
使用-L / home / username / FCam,您可以告诉链接器在查找时查看该目录 它应链接的库。您还需要告诉它要再次链接的库(用-l完成)。 我不知道你的lib,但似乎你应该添加一个--lfcam或类似的东西。
答案 1 :(得分:1)
看起来你混淆了你的libs语句的正确顺序 - 从我得到的一些信息中我期望这样:
LIBS += -L/home/username/FCam -lFCam -lpthread -ljpeg
为什么按此顺序?
因为首先你必须通过-L [MY_LIB_DIR]定义库的位置。
接下来,你必须通过-lMyLib添加你的库 - 你的库文件必须命名为libMyLib.a或libMyLib.so。
最后你添加了系统库,因为你的应用程序或你的libs可能会发生你的系统库依赖pthread和jpeg的依赖。
试试新订单,我相信你会得到它;)
侨, 克里斯