当我在另一个项目中使用x264 DLL时,在制作该项目时会报告“未定义的引用错误”!
这是我的(example_exe.cpp)代码:
#include <stdio.h>
#include <stdint.h>
#include <inttypes.h>
#define X264_API_IMPORTS
#include "x264.h"
int main(void)
{
x264_param_t *t;
x264_encoder_open(t);
return 0;
}
这就是我编译和编写代码的方式:
g++ -c example_exe.cpp
g++ -o example_exe.exe example_exe.o -L. -llibx264-142
我收到以下错误:
example_exe.o:example_exe.cpp:(.text+0x22): undefined reference to `x264_encoder_open_142(x264_param_t*)`
答案 0 :(得分:3)
编译C ++(而非C)时,需要使用extern&#34; C&#34; {...}用于x264.h标题,即
extern "C" {
#include "x264.h"
}