Проблемы с codeblocks / mingw & windres при создании .dll (VST Plugin) с использованием ресурсов png - PullRequest
0 голосов
/ 23 октября 2011

У меня есть плагин VST, который прекрасно компилируется с VS200X / MSVC. Я пытаюсь сделать проект Codeblocks / MinGW также для пользователей, которые предпочитают эту среду.

Когда я собираю dll с кодовыми блоками, она работает на хосте VST, с графическим интерфейсом, пока не начну пытаться включать ресурсы (файлы .png)

Я включаю файл .rc в проект codeblocks. Пути к ресурсам в моем resource.h не имеют пробелов.

Если я попытаюсь скопировать встроенный DLL-файл, ОС заблокирует его. Похоже, что windres не компилирует ресурсы успешно и сохраняет дескриптор файла - хотя по размеру .dll выглядит, что ресурсы есть. Если я попытаюсь запустить dll в хосте vst через GDB, он не достигнет каких-либо точек останова ... предположительно, хост не может загрузить 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"

1 Ответ

0 голосов
/ 25 октября 2011

проблема решена.Мои символы экспорта dll / видимость не были правильными для gcc.

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

...