在VC6里如下:
#pragma comment(lib, "libx264.lib")
#include "extras/stdint.h"
#include "x264.h"
void CClientDlg::OnBtnTestmain()
{
x264_param_t param;
x264_param_default( ¶m );
}
为什么出错
error LNK2001: unresolved external symbol "void __cdecl x264_param_default(struct x264_param_t *)
说明一下,libx264.lib在工程文件的同一个文件夹下
=======下面这是解决办法,后来补上的====================
1.工程-》属性-》C/C++-》代码生成-》运行时库:修改成: 多线程调试(/MTd); (release版本也修改成 多线程(/MT)
2.工程-》属性-》常规-》MFC的使用:修改为:在静态库中使用 MFC
3 #include "x264.h"要改一下
#include "extras/stdint.h"
//#include "x264.h"
#pragma comment(lib, "libx264.lib")
extern "C" //这样写的原因见本文后面
{
#include "x264.h"
}
复制代码
下载 (83.14 KB)
半小时前
下载 (56.97 KB)
半小时前
附件中有整个过程的录像,包括不修改前的出错过程,和修改后成功偏译的过程,以及所用的VC6工程文件
录像_vc6下调用libx264.lib的函数x264_param_default.rar (3.31 MB)
下载次数: 0
半小时前
vc6工程_调用x264的函数.rar (5.7 MB)
下载次数: 0
19 分钟前
一点参考资料:
extern "C"
#pragma comment(lib, "libx264.lib")
#include "extras/stdint.h"
#include "x264.h"
void CClientDlg::OnBtnTestmain()
{
x264_param_t param;
x264_param_default( ¶m );
}
为什么出错
error LNK2001: unresolved external symbol "void __cdecl x264_param_default(struct x264_param_t *)
说明一下,libx264.lib在工程文件的同一个文件夹下
=======下面这是解决办法,后来补上的====================
1.工程-》属性-》C/C++-》代码生成-》运行时库:修改成: 多线程调试(/MTd); (release版本也修改成 多线程(/MT)
2.工程-》属性-》常规-》MFC的使用:修改为:在静态库中使用 MFC
3 #include "x264.h"要改一下
#include "extras/stdint.h"
//#include "x264.h"
#pragma comment(lib, "libx264.lib")
extern "C" //这样写的原因见本文后面
{
#include "x264.h"
}
复制代码
下载 (83.14 KB)
半小时前
下载 (56.97 KB)
半小时前
附件中有整个过程的录像,包括不修改前的出错过程,和修改后成功偏译的过程,以及所用的VC6工程文件
录像_vc6下调用libx264.lib的函数x264_param_default.rar (3.31 MB)
下载次数: 0
半小时前
vc6工程_调用x264的函数.rar (5.7 MB)
下载次数: 0
19 分钟前
一点参考资料:
extern "C"
extern "C"的惯用法
http://www.chinavideo.org/viewthread.php?tid=12139&extra=page%3D1 |