将FreeType编译为DLL(与静态库相对)

B_o*_*old 15 dll compilation freetype visual-studio-2010

我想在ac#项目中使用FreeType.我发现了这个绑定,但我仍然需要一个freetype.dll.我通常在我的c ++项目中使用静态库,所以我从来没有编译过.打开freetype-solution(VS2010)我注意到动态库没有配置 - 只是静态库.我尝试自己配置并生成一个freetype.dll.如果我将它与c#-binding一起使用,我得到一个异常,那就是找不到FT_Init_FreeType入口点.知道如何调整freetype-project以便导出这些函数吗?

Sim*_*ier 37

如果您对旧版本(2008年3月)没问题,可以转到FreeType for Windows页面,下载最新的Binaries包,打开.ZIP,然后从bin目录中提取FreeType6.dll.只需适当地重命名它.

如果您需要更新版本,请按以下步骤编译最新版本:

  • http://sourceforge.net/projects/freetype/files/freetype2/下载最新的源代码(截至今天的2.4.6)

  • 打开Visual Studio 2010,并freetype.slnbuilds\win32\vc2010目录加载.

  • 打开项目配置,然后在General选项卡中更改Configuration TypeDynamic Library (.dll)

  • 打开ftoption.h文件,并添加这些行(例如"DLL export compilation"备注部分附近):

    #define FT_EXPORT(x)  __declspec(dllexport) x
    #define FT_BASE(x)    __declspec(dllexport) x
    
    Run Code Online (Sandbox Code Playgroud)
  • 将项目编译配置更改为"Release".

  • 编译项目.你现在应该freetype246.dllobjs\win32\vc2010目录中有一个.

  • 有谁知道为什么FreeType`CMakeLists.txt`积极禁止与MSVC建立共享库,尽管这个答案显示它有多么微不足道? (2认同)