Форум » GUI » Ошибка сборки проекта ? » Ответить

Ошибка сборки проекта ?

Andrey: Был рабочий проект с минимумом иконок и картинок. Добавил новые иконки (большие) и картинки. Теперь не собирается, выдает: Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland RLINK32: Internal software error! Error: Unknown RLINK32 error hbmk2: Error: Running linker. 2 Что не нравится RLINK32 ? Чем можно проверить файл ресурсов ? Уже не первый раз сталкиваюсь с такой проблемой и начинается "шаманство"....

Ответов - 27, стр: 1 2 All

gfilatov2002: Andrey пишет: Что не нравится RLINK32 ? Просто компилятор Borland 2000 года выпуска не умеет работать с такими иконками (которые появились позже)

Andrey: gfilatov2002 пишет: Просто компилятор Borland 2000 года выпуска не умеет работать с такими иконками (которые появились позже) Да нет, проглатывает нормально большие иконки (128х128). И программа тоже их показывает ! Только нужно оставить ОДНУ иконку 128х128 в файле ICO - тогда работает ! Просто не нравится иногда формат BMP или еще какая-то фигня. Вот опять споткнулся - Resource name - нельзя писать iMуICON1, нужно IMYICON1 !!! Или файл *.RES как-то можно проверить Чем можно проверить свои огрехи ?

Andrey: Опять ошибки при сборки ! Я почему-то не могу добавить новые ИКОНКИ в ресурсный файл. Выдает Fatal: Access violation. Link terminated. hbmk2: Error: Running linker. 2 Сколько можно добавить файлов ICO (128*128) в ресурсный файл. Вот мой ресурсный файл: S:\deskTop23\resource\DeskTop.rc * DOS // Resource name Resource Type Resource FileName // aMAIN ICON Main.ico MONITOR JPG monitor.jpg TEKSTURA1 JPG teksture.jpg TEKSTURA2 BITMAP teksture.bmp //задача основная IABONENT ICON iAbonent.ico IDOGOVOR ICON iDogovor.ico ICALC ICON iCalculator.ico IREMFOND ICON iRemFond.ico IUSERS ICON iUsers.ico IEXIT ICON iExit.ico IEXIT2 ICON iExit2.ico ISPAVKI ICON iSpravki.ico IZAIVKA ICON iZaivka.ico ICONFIG ICON iConfig.ico //задачи IASK1 ICON jPiopleAsk1.ico IASK2 ICON jPiopleAsk2.ico ICHART1 ICON jChart1.ico ICHART2 ICON jChart2.ico IPRN01 ICON jChart1.ico IPRN02 ICON jChart2.ico LICENCE BITMAP licence.bmp При добавлении еще одной строчки IPRN01 ICON jChart1.ico IPRN02 ICON jChart2.ico и вылетает ОШИБКА !!! Я вместо IPRN01 и IPRN02 давал другие названия, все равно вылетает. Может большой размер файла ресурса ? Какие есть опции для этих средств ? Помогите решить проблему.


Dima: Andrey пишет: При добавлении еще одной строчки НЕ факт что поможет но пробнуть можно. Сделай не 1 а 2 ресурсных файла. В первом укажи что типа #include "имя второго рес-го файла" Во второй сложи IPRN01 ICON jChart1.ico IPRN02 ICON jChart2.ico

Andrey: Dima пишет: Сделай не 1 а 2 ресурсных файла. Сделал. Таже самая ошибка, не собирается !!! Методом эксперементов (удалил всё лишнее) определил, что если файл DeskTop.res (который сборщик собирает) больше 1Мб, то вылетает по ошибке. Как можно увеличить размер ресурсного файла для BCC 5.5 ??? (Про отдельную DLL, в другой теме - я помню, но хочется с этим тоже разобраться)

Dima: Andrey Как вариант можно пробнуть сборщик из Pelles C (мне помогло в FW) Есть там Porc.exe но чую придется править твои rc файлики.

Andrey: Dima пишет: Как вариант можно пробнуть сборщик из Pelles C Давай ! Спасибо за помощь...

Andrey: После поверхностного копания нашел в bcb5tool.hlp ILINK32 command-line syntax -> Linker image options -> Reserved heap size (Command-line switch = /H:xxxx) Use this option to specify the size of the reserved heap in hexadecimal or decimal. The minimum allowable value for this field is 0. Specifying the reserved heap size here overrides any HEAPSIZE setting in a module definition file. Default = 1Mb (0x1000000) А куда и как указать линковщику эти доп.параметры в файле проекта ?

Andrey: Dima пишет: Сделай не 1 а 2 ресурсных файла. Пока обошел проблему таким способом: myProject1.rc myProject2.rc myProject3.rc т.е. ресурсы разбиваю на ОТДЕЛЬНЫЕ файлы, размер которых после компиляции (*.res) не должен превышать 1Мб !

Andrey: Всем привет. Кто может подсказать в чем дело. Был проект, собирался. После непродолжительного времени, пока занимался другими делами, перестал собираться проект на МиниГуи. Вот так выводит: Harbour 3.1.0dev (Rev. 17403) Copyright (c) 1999-2012, http://harbour-project.org/ Borland Resource Compiler Version 5.40 Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved. Borland Resource Compiler Version 5.40 Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved. Borland Resource Compiler Version 5.40 Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved. Borland Resource Compiler Version 5.40 Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved. OBJ\DeskTop.c: OBJ\Licence.c: OBJ\inifile.c: OBJ\password.c: OBJ\run_prg.c: OBJ\themes.c: OBJ\h_menu.c: OBJ\users.c: OBJ\version.c: OBJ\myExit.c: OBJ\myEditIni.c: OBJ\_controlpos3_.c: OBJ\_hbmkaut_DeskTop.c: Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland RLINK32: Internal software error! Error: Unknown RLINK32 error hbmk2: Error: Running linker. 2 А как найти в чем ошибка ? Какой файл виноват, или как сделать трассировку при сборке ЕХЕ-файла ? Собираю на Harbour MiniGUI Extended Edition 2.1.0 - 2012.04.25 .... Файл сборки: # hbmk2 from project: DeskTop.exe ----- 20.01.2012 ---------- # Включить debug-info # -prgflag=-b # Если нужно, можно создать *.ppo при компиляции #-prgflag=-p # Включить показ неиспользуемых переменных #-prgflag=-w2 # Флаги компилятора BCC #-cflag=-w-8075 # Incremental-режим компиляции -inc # папка где будут все *.obj -workdir=OBJ # Имя EXE-модуля -oDeskTop.exe # включить путь к MiniGui и своим *.ch и *.fmg -incpath=Z:\MiniGUI\Include -incpath=Source # перечисляем все *.prg Source\DeskTop.prg Source\Licence.prg Source\inifile.prg Source\password.prg Source\run_prg.prg Source\themes.prg Source\h_menu.prg Source\users.prg Source\version.prg Source\myExit.prg Source\myEditIni.prg Source\_controlpos3_.prg # Ресурсы resource\DeskTop.rc resource\DeskTop1.rc resource\DeskTop2.rc resource\DeskTop3.rc # Пути к основным и добавочным *.lib -lminigui -LZ:\MiniGUI\LIB\

Andrey: Блин, опят те же .... Скопировал случайно иконку новую "Файл сборный со всеми иконками".... Иконки 64х64 или 128х128 - Turbo Incremental Link 5.00 Copyright 1997, 2000 Borland RLINK32 - НЕ ПОНИМАЕТ !!!

Andrey: Одно мученье с этим линковщиком. Поставил вместо стандартого, пропаченную версию: Turbo Incremental Link 5.66 Copyright (c) 1997-2002 Borland Стало лучше собираться, на иконки/картинки меньше ругается. Но нужно теперь в ресурсы затолкать чужие dll. Дело труба. Если файл .RES больше 1Мб с копейками, то сборки нет - Fatal: Access violation. А чужие ехе-ники как правило, меньше 1 Мб не бывают... Приноровился собирать такие большие вещи через отдельный файл Compile-bcc582.bat, в котором просто указываю: set MG_BCC=z:\bcc582 set path=Z:\bcc582\bin;%path% hbmk2 demo.hbp Но все равно покоя не дает этот баг. А как можно указать (выделить память под ресурсный файл = 3 Мб) явно для ilink32.exe ? Вот ключи ilink32.exe:

Andrey: В папке проекта есть 2 файла: Send1Mail.rc и Send2Mail.rc Собираю второй проект: \MiniGui\batch\hbmk2.bat Send2Mail.hbp В этом проекте указан свой файл ресурсов: # Ресурсы Send2Mail.rc А при сборки появляется ошибка: Harbour 3.2.0dev (r1412050033) Copyright (c) 1999-2014, http://harbour-project.org/ Borland Resource Compiler Version 5.40 Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved. Borland Resource Compiler Version 5.40 Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved. Error Send1Mail.rc 11 47: Cannot open file: Send2Mail.exe hbmk2[Send2Mail]: Error: Running resource compiler. 20018 Откуда линковщик вытаскивает Send1Mail.rc ? Он просто в этой папке лежит.... И не прописан в Send2Mail.hbp .... Как исправить такой баг ? Переименовка файла Send1Mail.rc в любое имя кроме .rc помогает. Но это же не выход. Когда собираешь другой проект: hbmk2.bat Send1Mail.hbp - ресурсы второго проекта записываются в ПЕРВЫЙ проект. Но я там же не указываю ресурсы второго проекта. Фигня получается.

gfilatov2002: Andrey пишет: Откуда линковщик вытаскивает Send1Mail.rc ? Дело в том, что в настроечном файле minigui.hbc указана следуюшая строка {win}sources=${hb_curdir}*.rc Предполагалось, что в папке проекта лежат ресурсные файлы только для этого проекта, которые в таком случае подтягиваются автоматически. Andrey пишет: Переименовка файла Send1Mail.rc в любое имя кроме .rc помогает Для решения этой проблемы просто закоментируйте вышеуказанную строку в файле minigui.hbc, который находится в папке minigui\harbour\bin

Andrey: gfilatov2002 пишет: Для решения этой проблемы просто закоментируйте вышеуказанную строку в файле minigui.hbc, Спасибо за оперативную помощь !

Andrey: gfilatov2002 пишет: Для решения этой проблемы просто закоментируйте вышеуказанную строку в файле minigui.hbc, Блин, закомментировал... Теперь облом, если проект состоит только из одного файла и ресурсов, например: Send1Mail.prg Send1Mail.rc Тогда ресурс не включается в ехе-файл. Можно как то явно указать имя-проекта и имя-ресурсного файла ? {win}sources=${hb_curdir}*.rc Так {win}sources=${hb_curdir}sources.rc будет правильно ?

gfilatov2002: Andrey пишет: Так {win}sources=${hb_curdir}sources.rc будет правильно ? Да, это правильно

Andrey: Перестал собираться проект после добавления двух prg файлов из другого (отдельного, тестировочного) проекта. Ошибка такая: Error: Unresolved external '_HB_FUN_WIN_OLEERRORTEXT' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Error: Unresolved external '_HB_FUN_WIN_OLEAUTO' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Error: Unresolved external '_HB_FUN___OLEINVOKEMETHOD' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Error: Unresolved external '_HB_FUN___OLEINVOKEPUT' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Error: Unresolved external '_HB_FUN___OLEINVOKEGET' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Error: Unresolved external '_HB_FUN_WIN_OLEERROR' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbolec Error: Unresolved external '_hb_oleInit' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbolec Error: Unresolved external '_hb_oleItemPut' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbolec Error: Unresolved external '_HB_FUN___OLEISDISP' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Error: Unresolved external '_HB_FUN___OLECREATEOBJECT' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Error: Unresolved external '_HB_FUN_WIN_P2N' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Error: Unresolved external '_HB_FUN___OLEGETACTIVEOBJECT' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Error: Unresolved external '_HB_FUN_WAPI_MESSAGEBOX' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Error: Unresolved external '_HB_FUN___OLEVARIANTNEW' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Перечень библиотек в моем .hbp: # paths to the main and extension *.Lib -lminigui -lcalldll -lprocinfo -lxhb -lmsvfw32 Если отключить -lxhb, то появляются другие ошибки: ▲ ABONENT\OBJ\FORM_LICENSE.OBJ_FUN_HB_DECRYPT' referenced from W:\HB_PROJECT\♀♣ ▲ ABONENT\OBJ\MAIN.OBJnal '_HB_FUN_ISDIRECTORY' referenced from W:\HB_PROJECT\♀♣ Как исправить ? И почему при выводе появляются кракозябы - ▲ ♀♣ ?

Haz: Andrey пишет: Как исправить из MiniGui\Utils запустить HB_LIB вбить в окне любую из функций на которую ругается ( например _HB_FUN_WIN_OLEERRORTEXT ) запомнить в какой lib она живет и попытаться найти ее в своем .hbp

Andrey: Блин, ничего не пойму. Есть отдельный проект 6 файлов, он собирается нормально, без ошибок, в строке сборке: # paths to the main and extension *.Lib -lminigui и все !!! Перенес 3 файла из этого проекта (он был сделан для тестировки) в основной проект. Собираться проект перестал. Куча ошибок (см.выше) при сборке. Отключаю эти модули - собирается. Посмотрел какие библиотеки задействованы, оказались: xhb.lib и hbwin.lib Добавил еще в несобираемый проект -lhbwin = ПРОЕКТ СОБРАЛСЯ !!! Почему ? Для первого проекта указать библиотеку вообще не нужно, а для второго просто НЕОБХОДИМО ! Что за хрень ?

Dima: Andrey указывать либы (или hbc) нужно всегда. ищи свой косяк.

Andrey: Dima пишет: ищи свой косяк. Косяк нашёл ! Просто непонятно, почему в первом случае необязательно указывать эти либы, а во втором случае нужно обязательно указать либы ? И почему при выводе появляются кракозябы - ▲ ♀♣ ?

Andrey: Ну прям фантастика, когда проект разрастается.... Перестает нормально собираться и работать ! Добился чтобы сборка проекта осуществлялась через xMate. ЕХЕ-ник рабочий, работает всё. Есть функция проверки наличия EXCELа на компе. Тоже работает. При сборке через .hbp не собирается проект, ошибки такие: Error: Unresolved external '_HB_FUN_WIN_OLEERRORTEXT' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Error: Unresolved external '_HB_FUN_WIN_OLEAUTO' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Error: Unresolved external '_HB_FUN___OLEINVOKEMETHOD' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Error: Unresolved external '_HB_FUN___OLEINVOKEPUT' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Error: Unresolved external '_HB_FUN___OLEINVOKEGET' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Error: Unresolved external '_HB_FUN_WIN_OLEERROR' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbolec Error: Unresolved external '_hb_oleInit' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbolec Error: Unresolved external '_hb_oleItemPut' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbolec Error: Unresolved external '_HB_FUN___OLEISDISP' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Error: Unresolved external '_HB_FUN___OLECREATEOBJECT' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Error: Unresolved external '_HB_FUN_WIN_P2N' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Error: Unresolved external '_HB_FUN___OLEGETACTIVEOBJECT' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Error: Unresolved external '_HB_FUN_WAPI_MESSAGEBOX' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Error: Unresolved external '_HB_FUN___OLEVARIANTNEW' referenced from Z:\MINIGUI\HARBOUR\LIB\XHB.LIB|xhbole Добавляю библиотеку hbwin.lib - проект собирается. Но перестает работать проверка EXCELа на компе. Григорий пишет, что это происходит: из-за конфликта между Харбор-библиотекой HbWin и минигуи-библиотекой HbOle, которые реализуют доступ к Excel. Улет полнейший. А как тогда хMate собирает проект ? Там вообще нет библиотеки hbwin.lib ! Пересмотрел сборку. Чем можно заменить hbwin.lib ?

nick_mi: А библиотека xhb.lib точно нужна в этом проекте? Может XMATE ee не подключает ?

Andrey: nick_mi пишет: А библиотека xhb.lib точно нужна в этом проекте? Может XMATE ee не подключает ? Нужна. Там две функции использую из неё: HB_DECRYPT и ISDIRECTORY В хМате я её тоже подключаю.

Andrey: Нашел последовательность, при которой пропадают ошибки: -lminigui -lcalldll -lprocinfo -lhbole -lxhb #-lhbwin // даже и не требуется !!!

Andrey: Вот очередная загадка. Отдельный проект собирается нормально. В МойПроект.hbp указана только одна строчка: # paths to the main and extension *.Lib -lminigui Переношу два файла в свой большой проект и на тебе - перестает собираться проект, ошибка сборки: Error: Unresolved external '_HB_FUN_GETWINDOWHEIGHT' referenced from W:\HB_PROJECT\   ABON5\OBJ\SPRAVKIHMG.OBJ hbmk2[abonent4win]: Error: Running linker. 2 Пришлось ставить вместо GETWINDOWHEIGHT - GetWindowRect( GetControlHandle("STATUSBAR", "Form_Spr"), 4 ). Но это же не дело.... Что нужно сделать (исправить, добавить) чтобы проект собирался ? Может проект большой и добавить в сборку что-то нужно ?



полная версия страницы