wxDev FAQ Печать
Добавил(а) microsin   

Исправление различных ошибок, связанных с бесплатной средой разработки wxDev [1].

Executing  make clean
del /Q "Objects\MingW\main.o" "Objects\MingW\hid.o" "Output\MingW\ssd1322cmd.exe"
/usr/bin/sh: del: command not found
mingw32-make.exe: *** [clean] Error 127
Execution terminated

[Решение 1]

1. Запретите автоматическую генерацию makefile (автоматическая генерация задана по умолчанию). Для этого откройте свойства проекта (Alt+P), перейдите на закладку Makefile, поставьте галочку Use Custom Makefile, и выберите в качестве скрипта make файл Makefile.win, который находится в корне Вашего проекта.

2. Исправьте определение макроопределение RM так, чтобы команда del запускалась через вызов cmd.exe. Для этого откройте файл Makefile.win, исправьте в нем следующий кусок:

...
ifeq ($(OS),Windows_NT)
#   RM = del /Q
   RM = cmd /C del /Q
   FixPath = $(subst /,\,$1)
else
   RM = rm -f
   FixPath = $1
endif
...

Недостаток этого способа в том, что теперь Вы должны сами обновлять этот файл, когда добавляете в проект модули.

[Решение 2]

1. Создайте файл makdefs.mak, добавьте туда текст:

RM := rm -rf

Или можно добавить такой текст:

RM := cmd /C del /Q

2. Подключите этот скрипт к текущему Makefile проекта. Для этого Для этого откройте свойства проекта (Alt+P), перейдите на закладку Makefile, выберите в качестве добавляемого файла (Include the following files into the Makefile) созданный файл makdefs.mak, нажмите кнопку Add, файл должен появиться в списке (см. скриншот).

wxDev add Makefile script RM

Кликните OK.

С помощью ключевых слов __attribute__((__packed__)). Пример не упакованной структуры, sizeof(TBlockHeader) даст число 12:

typedef struct _TBlockHeader
{
   u32 address;
   u32 count;
   u16 flag;
}TBlockHeader;

А вот это пример упакованной структуры, sizeof(TBlockHeader) даст число 10:

typedef struct __attribute__((__packed__)) _TBlockHeader
{
   u32 address;
   u32 count;
   u16 flag;
}TBlockHeader;

[Ссылки]

1. wxDev-C++ site:sourceforge.net.