【问题标题】:Errors building Freetype application with Visual Studio使用 Visual Studio 构建 Freetype 应用程序时出错
【发布时间】:2015-04-15 18:19:46
【问题描述】:

上周我一直在为这个问题发疯。

  • Microsoft Visual Studio 社区 2013
  • Freetype 2.5.5
  • Windows 8.1
  • 构建为 C++ 应用程序

我一直在尝试针对 Freetype 的静态库进行构建,我在使用包含的 VC2010 项目构建库之后尝试过,并且还下载了预构建的库,但没有成功。我总是在下面得到相同的错误。我已经尝试了多个示例并且相同。我能够使用 gcc 成功编译和链接 lib(在构建 .a 库之后),这个问题似乎与 Visual Studio 隔离..

1>f:\audio\libs\header\freetype\fterrdef.h(35): error C2143: syntax error : missing '}' before '('
1>f:\audio\libs\header\freetype\fterrdef.h(35): error C2143: syntax error : missing ';' before '<L_TYPE_raw>'
1>f:\audio\libs\header\freetype\fterrdef.h(35): error C2059: syntax error : '<L_TYPE_raw>'
1>f:\audio\libs\header\freetype\fterrors.h(164): error C2143: syntax error : missing ';' before '}'
1>f:\audio\libs\header\freetype\fterrors.h(177): error C2059: syntax error : '}'
1>f:\audio\libs\header\freetype\fterrors.h(177): error C2143: syntax error : missing ';' before '}'
1>f:\audio\libs\header\freetype\freetype.h(38): error C2143: syntax error : missing ';' before '{'
1>f:\audio\libs\header\freetype\freetype.h(38): error C2447: '{' : missing function header (old-style formal list?)

可能导致此错误的示例代码:

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

int main(int argc, char **argv)
{
    return 0;
}

【问题讨论】:

    标签: c++ windows visual-studio visual-studio-2013 freetype


    【解决方案1】:

    我在使用 VS2013 工具集 (SDK) 在 VS2013 中构建 FreeType2 时遇到了同样的问题。到目前为止,Google 结果似乎没有答案,所以我想我会分享,即使线程有点旧(但问题仍然是最近的!FreeType 2.6 版仍然存在同样的问题)。

    作为参考,这可以通过最小的例子来重现:

    #include <ft2build.h>
    #include FT_FREETYPE_H
    
    FT_Library  library;
    

    所以问题和解决方案非常简单,但不幸的是隐藏在输出日志中,乍一看并不那么明显,因此需要进行一些调查。

    FreeType2 库和 Windows SDK 之间的标头名称存在冲突,即从以下位置拖入的 fttypes.h 文件:

    C:\Program Files (x86)\Windows Kits\8.1\Include\shared\fttypes.h

    相反,VS 应包含位于以下位置的 FT2 标头:

    your_FT2_root\include\fttypes.h

    这很容易解决 - 在您的项目属性 (Alt+F7) 中重新排列标题搜索路径,以便首先使用 FreeType2 路径(对我来说,将 FT2 放在顶部就像一个魅力)。

    希望这会有所帮助!

    干杯, 亨利克

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-16
      • 1970-01-01
      • 1970-01-01
      • 2017-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多