【问题标题】:codeblocks/mingw & windres problems building a .dll (VST Plugin) with png resources使用 png 资源构建 .dll(VST 插件)的 codeblocks/mingw 和 windres 问题
【发布时间】:2011-10-23 11:07:44
【问题描述】:

我有一个与 VS200X / MSVC 一起编译的 VST 插件。我正在尝试为喜欢该环境的用户创建一个 Codeblocks/MinGW 项目。

当我使用代码块构建 dll 时,它可以在带有 GUI 的 VST 主机中工作,直到我开始尝试包含资源(.png 文件)

我在代码块项目中包含 .rc 文件。我的 resource.h 中的资源路径没有空格。

如果我尝试复制构建的 .dll 文件,操作系统会将其锁定。就好像 windres 没有成功编译资源并保留文件的句柄 - 尽管 .dll 的大小看起来资源在那里。如果我尝试通过 GDB 在 vst 主机中运行 dll,它不会遇到任何断点……大概主机无法加载 .dll。

这里是代码块 cbp 编译器设置...

<Target title="Release Win32">
<Option output="build-win-cb\IPlugEffect" prefix_auto="1" extension_auto="1" />
<Option working_dir="build-win-cb\" />
<Option object_output="build-win-cb\Release" />
<Option type="3" />
<Option compiler="gcc" />
<Option parameters="IPlugEffect.dll" />
<Option host_application="C:\Program Files\vsthost\vsthost.exe" />
<Compiler>
<Add option="-O3" />
<Add option="-msse2" />
<Add option="-ffast-math" />
<Add option="-DVST_API" />
<Add option="-DWIN32" />
<Add option="-D_WIN32_WINNT=0x0501" />
<Add option="-DWINVER=0x0501" />
<Add option="-D_CRT_SECURE_NO_DEPRECATE" />
<Add option="-DPNG_NO_ASSEMBLER_CODE" />
<Add option="-DPNG_LIBPNG_SPECIALBUILD" />
<Add option="-DDLL_BUILD" />
</Compiler>
</Target>

resource.h

...
// Unique IDs for each image resource.
#define KNOB_ID       101
// Image resource locations for this plug.
...

IPlugEffect.rc

#include "resource.h"

KNOB_ID       PNG KNOB_FN
#define KNOB_FN       "resources/img/knob.png"

【问题讨论】:

    标签: resources mingw codeblocks vst


    【解决方案1】:

    问题解决了。我的 dll 符号导出/可见性对于 gcc 不正确。

    http://forum.cockos.com/showpost.php?p=835609&postcount=21

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-22
      • 1970-01-01
      • 2013-03-12
      相关资源
      最近更新 更多