我正在尝试编写一个使用 x264 API 的小型 C 应用程序,但在编译带有 x264 libaray 链接的代码时遇到问题。
在 /project/ 目录中有两个子文件夹:/project/mycode/ 和 /project/x264-snapshot-20120120-2245。
我已经使用 ./configure 然后“make”在后一个子目录中安装了 x264。因此,我想我想链接到的库是 /project/x264-snapshot-20120120-2245/libx264.a
在 /project/mycode/ 我有一个源代码文件 (prototype.c),它具有以下导入:
#include <stdio.h>
#include <inttypes.h>
#include "../x264-snapshot-20120120-2245/x264_config.h"
#include "../x264-snapshot-20120120-2245/x264.h"
正如预期的那样,如果我尝试在不链接到 x264 库的情况下进行编译,则会收到错误消息:
/project/mycode: gcc -o prototype prototype.c
/tmp/cc5NwRTp.o: In function `main':
prototype.c:(.text+0x6c): undefined reference to `x264_param_default_preset'
prototype.c:(.text+0xf6): undefined reference to `x264_param_apply_profile'
collect2: ld returned 1 exit status
所以我尝试链接我上面提到的库,但没有找到:
/project/mycode: gcc -o prototype prototype.c -I../x264-snapshot-20120120-2245/ -llibx264.a
/usr/bin/ld: cannot find -llibx264.a
collect2: ld returned 1 exit status
我尝试了一些变化,例如:
gcc -o prototype prototype.c -I../x264-snapshot-20120120-2245/ -l ../x264-snapshot-20120120-2245/libx264.a
gcc -o prototype prototype.c -I../x264-snapshot-20120120-2245/ -llibx264
gcc -I ../x264-snapshot-20120120-2245/ -llibx264.a -o prototype prototype.c
到目前为止可能很明显,我对此很陌生,所以我希望有一个简单的解决方案