Qt如何隐式加载VC动态库
请问Qt如何隐式加载VC动态库?
我是初学者,按照如下方式做的,失败了,请前辈们赐教。
我的动态库文件为 xvidcore.dll和libxvidcore.lib
Qt项目文件内容
TEMPLATE = lib
CONFIG += plugin \
static
INCLUDEPATH += ../PlayerUI
HEADERS += encoder.h \
xvid.h
SOURCES += encoder.cpp
TARGET = plugintool
DESTDIR = ../PlayerUI/build/plugins
LIBS += D:\Mpeg4Player\plugintool\libxvidcore.lib
部分代码如下
int Encoder::Init(int xDim,int yDim,int CSP,
int iFramerate,int iProfile,int iKeyInterval)
{
m_xDim =xDim;
m_yDim =yDim;
m_CSP =CSP;
int result=0;
xvid_gbl_init_t xvid_gbl_init;
memset(&xvid_gbl_init,0,sizeof(xvid_gbl_init_t));
xvid_gbl_init.version=XVID_VERSION;
xvid_gbl_init.cpu_flags=XVID_CPU_FORCE;
xvid_gbl_init.debug=0;
result = xvid_global(NULL,XVID_GBL_INIT,&xvid_gbl_init,NULL);
xvid_enc_create_t xvid_enc_create;
memset(&xvid_enc_create,0,sizeof(xvid_enc_create_t));
xvid_enc_create.version=XVID_VERSION;
xvid_enc_create.width=m_xDim;
xvid_enc_create.height=m_yDim;
xvid_enc_create.profile=iProfile;
xvid_enc_create.fincr = 1;
xvid_enc_create.fbase = iFramerate;
xvid_enc_create.max_key_interval=iKeyInterval;
result = xvid_encore(NULL,XVID_ENC_CREATE,&xvid_enc_create,NULL);
m_enc_handle=xvid_enc_create.handle;
return result;
}
错误信息如下
./build/plugins/libplugintool.a(encoder.o):D:\Mpeg4Player\plugintool/encoder.cpp:16: undefined reference to `xvid_global'
./build/plugins/libplugintool.a(encoder.o):D:\Mpeg4Player\plugintool/encoder.cpp:26: undefined reference to `xvid_encore'
./build/plugins/libplugintool.a(encoder.o):D:\Mpeg4Player\plugintool/encoder.cpp:53: undefined reference to `xvid_encore'
./build/plugins/libplugintool.a(encoder.o):D:\Mpeg4Player\plugintool/encoder.cpp:72: undefined reference to `xvid_encore'
collect2: ld returned 1 exit status
mingw32-make[2]: *** [build\PlayerUI.exe] Error 1
mingw32-make[1]: *** [debug] Error 2
mingw32-make: *** [sub-PlayerUI-make_default] Error 2
Exited with code 2.
Error while building project Mpeg4Player
When executing build step 'Make'
请高手赐教