linux - FreeType 2 的 undefined reference

标签 linux compilation linker freetype2

在使用 FreeType 构建一个简单示例时出现 undefined reference 错误2.

gcc `/usr/bin/freetype-config --cflags`  `/usr/bin/freetype-config --libs` a.c 
/tmp/ccuSpdkr.o: In function `main':
a.c:(.text+0x10): undefined reference to `FT_Init_FreeType'
collect2: error: ld returned 1 exit status

我在 Ubuntu 12.10 x64 上。已安装软件包 libfreetype6 和 libfreetype6-dev。

文件 a.c 是:

#include <stdio.h>
#include <ft2build.h> 
#include FT_FREETYPE_H

int main() {
  FT_Library library;
  FT_Init_FreeType( &library );
  return 0;
}

我尝试了两步编译,以确保一切都在 64 位上:

> gcc -c `/usr/bin/freetype-config --cflags` a.c
> file a.o
a.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped
> /usr/bin/freetype-config --cflags
-I/usr/include/freetype2
> /usr/bin/freetype-config --libs
-L/usr/lib/x86_64-linux-gnu -lfreetype -lz
> file /usr/lib/x86_64-linux-gnu/libfreetype.so.6.9.0
/usr/lib/x86_64-linux-gnu/libfreetype.so.6.9.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0x8ed223c2650372fc88b41fd348a72f03329adefa, stripped

我错过了什么?

最佳答案

您应该将链接器标志放在目标文件和/或源文件的之后;而不是

gcc `freetype-config --libs` a.c

gcc a.c `freetype-config --libs`

关于linux - FreeType 2 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14110769/

相关文章:

linux - 从 Windows 客户端连接到 Ubuntu 18.04,安装的 Samba 无法正常工作

linux - 如何在 ubuntu 终端上使用 gtalk/hangout?

c - 设置段错误处理程序

c# - 为什么这个程序只产生三个警告?

dll - 使用静态构造函数链接 dll 时如何解决未解析的外部符号?

mysql - 如何解决CentOS中的 "Failed to connect to MySQL Host"错误

c++ - 链接究竟是如何工作的?

c++ - XCode 包含系统文件而不是本地文件

java - 在 Ubuntu Natty 上静态链接 GCJ 应用程序

go - CGO : Undefined symbols for architecture x86_64