Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: bcc32, компиляция ресурсов  (Прочитано 15956 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
GeenS
Гость
« : 23-10-2005 16:18 » 

Прорабатываю учебный пример.Компилятор BCC32.exe (commad-line, free compiler)

Есть ресурсный файл smplmenu.rc

#include "menu.h"
SPML MENU
{
   POPUP "&One"
   {
      MENUITEM "&Alpha", IDM_ALPHA
      MENUITEM "&Beta", IDM_BETA
   }   
   POPUP "&Two"
   {
      MENUITEM "&Gamma", IDM_GAMMA
      POPUP "&Delta"
      {
         MENUITEM "&Epsilon", IDM_EPSILON
         MENUITEM "&Zeta", IDM_ZETA
      }
      MENUITEM "&Eta", IDM_ETA
      MENUITEM "&Teta", IDM_THETA      
   }
   MENUITEM "&Help", IDM_HELP
}

"menu.h" такой:
#define IDM_ALPHA   100
#define IDM_BETA    101
#define IDM_GAMMA   102
#define IDM_DELTA   103
#define IDM_EPSILON 104
#define IDM_ZETA    105
#define IDM_ETA       106
#define IDM_THETA   107
#define IDM_HELP    108


Компилю ресурс так: BRCC32  -c1251 -32 -v smplmenu.RC > RCOMPILR.TXT
Создается ресурсный файл. В отчете о компиляции ресурса написано:

Borland Resource Compiler  Version 5.40
Copyright (c) 1990, 1999 Inprise Corporation.  All rights reserved.
Lines: Current 0, Total 0
New File: smplmenu.RC
Lines: Current 1, Total 0
New File: C:\cpp\tutorial\Shildt's Windows95 Programming\chapter04 - menu\smplmenu.RC
Lines: Current 1, Total 0
New File: menu.h
Lines: Current 1, Total 0
Defining IDM_ALPHA
Lines: Current 0, Total 8
New File: smplmenu.RC
Lines: Current 2, Total 10
Compiling MENU: SPML
Lines: Current 0, Total 28
New File:


Компилю программу так:BCC32.EXE -W smplmenu.c smplmenu.res > comprpt.txt
В отчете о компиляции пишет:

Borland C++ 5.5 for Win32 Copyright (c) 1993, 2000 Borland
smplmenu.c:
Warning W8057 smplmenu.c 72: Parameter 'hPrevInst' is never used in function WinMain
Warning W8057 smplmenu.c 72: Parameter 'lpszArgs' is never used in function WinMain
smplmenu.RES:
Error E2206 smplmenu.RES 1: Illegal character 'я' (0xff)
Error E2206 smplmenu.RES 1: Illegal character 'я' (0xff)
Error E2206 smplmenu.RES 1: Illegal character '' (0x0)
Error E2206 smplmenu.RES 1: Illegal character '' (0x0)
Error E2206 smplmenu.RES 1: Illegal character 'я' (0xff)
Error E2206 smplmenu.RES 1: Illegal character 'я' (0xff)
Error E2206 smplmenu.RES 1: Illegal character '' (0x0)
Error E2206 smplmenu.RES 1: Illegal character '' (0x0)
Error E2206 smplmenu.RES 1: Illegal character '' (0x0)
Error E2206 smplmenu.RES 1: Illegal character '' (0x0)
Error E2206 smplmenu.RES 1: Illegal character '' (0x0)
Error E2206 smplmenu.RES 1: Illegal character '' (0x0)
Error E2206 smplmenu.RES 1: Illegal character '' (0x0)
Error E2206 smplmenu.RES 1: Illegal character '' (0x0)
Error E2206 smplmenu.RES 1: Illegal character '' (0x0)
Error E2206 smplmenu.RES 1: Illegal character '' (0x0)
Error E2206 smplmenu.RES 1: Illegal character '' (0x0)
Error E2206 smplmenu.RES 1: Illegal character '' (0x0)
Error E2206 smplmenu.RES 1: Illegal character '' (0x0)
Error E2206 smplmenu.RES 1: Illegal character '' (0x0)
Error E2206 smplmenu.RES 1: Illegal character '' (0x0)
Error E2206 smplmenu.RES 1: Illegal character '' (0x0)
Error E2206 smplmenu.RES 1: Illegal character '' (0x0)
Error E2206 smplmenu.RES 1: Illegal character '' (0x0)
Error E2206 smplmenu.RES 1: Illegal character 'ґ' (0xb4)
Error E2228 smplmenu.RES 1: Too many error or warning messages

В чем грабли? Все вроде соблюдено...Плз
« Последнее редактирование: 18-12-2007 21:48 от Алексей1153++ » Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #1 : 23-10-2005 19:30 » 

Насколько я помню (сейчас просто билдера нет под рукой) в комплект поставки входит также утилита которая компилит ресурсы из текста в файл .rc А потом уже нужно подключать ресурс к проекту.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Oldy
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 24-10-2005 07:14 » 

Файл ресурсов к программе присоединяет не компилятор а редактор связей (ILINK.EXE),
поэтому вызов компилятора  BCC32.EXE -W smplmenu.c smplmenu.res > comprpt.txt и приводит к ошибке.  Разделите компилирование и линковку.

See also:
\Help\Bcb5tool.hlp -> ILINK32.EXE
Записан

С уважением, Oldy.
GeenS
Гость
« Ответ #3 : 24-10-2005 15:37 » 

Большое человеческое спасибо Oldy, очень выручает уже не один раз...Great thanks Отлично
Записан
GeenS
Гость
« Ответ #4 : 25-10-2005 15:02 » 

Опять косяк: отдельно компилю с опцией -c
BCC32.EXE -W -c smplmenu.c > comprpt.txt

Линкую объектный с ресурсным
ILINK32 smplmenu.obj smplmenu.res smplmenu.exe >linkrep.txt

Вываливает ошибку:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: 'C:\CPP\TUTORIAL\SHILDT'S WINDOWS95 PROGRAMMING\CHAPTER04 - MENU\SMPLMENU.RES' contains invalid OMF record, type 0x00

Что-то не так с компиляцией ресурса, может неправильный формат ресурсного файла?
« Последнее редактирование: 18-12-2007 21:49 от Алексей1153++ » Записан
Oldy
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 26-10-2005 06:12 » 

Возможно, перекомпилируйте ресурс с установленной опцией -32, хотя и синтаксис приведенной команды "линковки" тоже вызывает некоторое недоумение.
   
Цитата
Syntax from Help file.

ILINK32 [@respfile][options] startup myobjs, [exe], [mapfile], [libraries], [deffile], [resfile]


Т.е. дкоманда должна выглядеть примерно так:
ILINK32 /Tpe smplmenu.obj, , , , ,smplmenu.res >linkrep.txt
« Последнее редактирование: 26-10-2005 06:18 от Oldy » Записан

С уважением, Oldy.
GeenS
Гость
« Ответ #6 : 28-10-2005 15:57 » 

не работает, .exe образовался, но не запускается, пробовал с различными опциями и без них ... ни фига
Операционка? компилер? ресурсный файл? ума ни приложу..
Записан
Oldy
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 28-10-2005 18:58 » 

маловато информации. Какой StartUf-файл был использован. Требовалось-ли подключение библиотек? Опишите подробнее.
Записан

С уважением, Oldy.
GeenS
Гость
« Ответ #8 : 01-11-2005 17:37 » 

А что такое StartUf-файл?
Записан
Oldy
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 01-11-2005 18:51 » 

StartUp Files
c0d32.obj, c0d32w.obj, c0d32x.obj, c0s32.obj, c0w32.obj и так далее.
Записан

С уважением, Oldy.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines