• 7939阅读
  • 3回复

[提问]pro文件中的libs参数问题 [复制链接]

上一主题 下一主题
离线y286572046
 

只看楼主 倒序阅读 楼主  发表于: 2011-09-04
在ubuntu 10.04下,我用qtcreator建了一个c++ library工程,做好了一个动态库文件,在WINDOW下这个动态库是dll文件,但在linux下不是dll
而是分别为
libSHEARLIB.so.1.0.0
libSHEARLIB.so.1.0
libSHEARLIB.so.1
libSHEARLIB.so
四文件

我又新建了一个工程,将上述四个文件与该工程的main.app,pro等源文件放在同一个目录下,在pro文件中加入了这句话:
LIBS += libSHEARLIB.so \libSHEARLIB.so.1 \libSHEARLIB.so.1.0 \libSHEARLIB.so.1.0.0
在main.cpp中想调用了这个动态库,但编译总是报错
:-1: 警告:构建目录必须和源文件目录为同级目录.
:-1: 错误:libSHEARLIB.so: 没有那个文件或目录
:-1: 错误:libSHEARLIB.so.1: 没有那个文件或目录
:-1: 错误:libSHEARLIB.so.1.0: 没有那个文件或目录
:-1: 错误:libSHEARLIB.so.1.0.0: 没有那个文件或目录

离线dbzhang800

只看该作者 1楼 发表于: 2011-09-04
看起来问题挺多:
  1. 第一个警告很有问题,你在用showdow build??且有问题?
  2. 4个东西(一个库文件,3个符号链接)在哪个目录下?
  3. 斜线不是乱加的
  4. 不需要4个东西全部加上。就像别人和你打招呼,不必将你的全名、乳名、外号、笔名等挨着叫一遍。
离线roywillow

只看该作者 2楼 发表于: 2011-09-04
之前写过的一个linux下程序我是这么写的
LIBS += -lopenal -L/usr/lib
在/usr/lib下有个libopenal.so,当然这个文件只是个连接
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线dbzhang800

只看该作者 3楼 发表于: 2011-09-04
引用第2楼roywillow于2011-09-04 16:26发表的  :
之前写过的一个linux下程序我是这么写的
LIBS += -lopenal -L/usr/lib
在/usr/lib下有个libopenal.so,当然这个文件只是个连接

恩,这是比较正式和常用的写法,不过直接写文件名一般也是没问题的
快速回复
限100 字节
 
上一个 下一个