• 11786阅读
  • 7回复

QT调用windows lib问题 [复制链接]

上一主题 下一主题
离线denga188
 

只看楼主 倒序阅读 楼主  发表于: 2011-04-25
QT使用qt-win-opensource-src-4.3.4,已使用VC6.0重新编译,编译方式为:debug+release+static,采用静态编译
现调用第三方lib(海思),.pro为:
INCLUDEPATH += F:\video\api
LIBS += -LF:\video\lib\hi_h264dec_w.lib
已加载路径。

编译出现错误为:
video.obj : error LNK2001: unresolved external symbol _Hi264DecGetInfo
release\video.exe : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: 'link' : return code '0x460'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio\VC98\bin\N
MAKE.EXE"' : return code '0x2'
Stop.

其中,_Hi264DecGetInfo()为第三方LIB API。

请问,大家如何处理这种链接问题呢?谢谢!

补充: 1.第三方的LIB采用C语言编写。
       2.第三方的LIB,官方称VC6.0, VC2003可正常使用。
[ 此帖被denga188在2011-04-25 12:23重新编辑 ]
离线XChinux

只看该作者 1楼 发表于: 2011-04-25
LIBS += -L/lib/path -l/lib/name

大写的“L”是路径,小写的"L"是库名。  
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线dwhome

只看该作者 2楼 发表于: 2011-04-25
extern "C" {
#include "xxxx.h"
}
离线denga188

只看该作者 3楼 发表于: 2011-04-25
引用第2楼dwhome于2011-04-25 10:14发表的  :
extern "C" {
#include "xxxx.h"
}


谢谢这位朋友,你这种方法,我之前已经尝试过,好像不成。
离线denga188

只看该作者 4楼 发表于: 2011-04-25
引用第1楼XChinux于2011-04-25 09:17发表的  :
LIBS += -L/lib/path -l/lib/name
大写的“L”是路径,小写的"L"是库名。  


版主,我今晚回去尝试一下,再把结果告诉大家。
离线denga188

只看该作者 5楼 发表于: 2011-04-25
引用第1楼XChinux于2011-04-25 09:17发表的  :
LIBS += -L/lib/path -l/lib/name
大写的“L”是路径,小写的"L"是库名。  


经过测试,还是不成。
离线denga188

只看该作者 6楼 发表于: 2011-04-26
没有人遇到类似问题么?
离线huzhiwen28

只看该作者 7楼 发表于: 2011-05-03
最好问一下,第三方的LIB是用什么语言和工具生成的?
如果LIB是C格式的,要使用
extern "C" {
#include "xxxx.h"
}

注意,工具调用的方式不一样,据我所知,mingw的链接器和VC6的链接器不是兼容的
http://blog.sina.com.cn/tonyhuzhiwen
https://github.com/huzhiwen28/
专注于工业嵌入设备开发
快速回复
限100 字节
 
上一个 下一个