Ошибка Linking ... 2
Попытка создать новый файл с дополнительным кодом приводит
к ошибке. Какой, добавленый, код превышает предел 5 Mb неважно! Ставил эксперементы.
Вопрос: в Builder-е существуют ограничения на размер создаваемого
EXE файла?
P.S.: пробовал варианты с свойствами проекта для компиляции и линковки. Не помогло.
Вот сообщения сомпиляции и компановки ...
Build
Commandline tool returned an errorcode.
[Commandline] "C:\Program Files\Borland\CBuilder6\Bin\bcc32ide.exe" -O2 -H=C:\PROGRA~1\Borland\CBUILD~1\lib\vcl60.csm -Hc -w- -Vx -Ve -X- -a4 -6 -b- -k- -vi -O -c -tW -tWM -I"C:\Program Files\Borland\CBuilder6\include";"C:\Program Files\Borland\CBuilder6\include\vcl";"C:\Program Files\Borland\nrCommLib\CBuilder6";C:\ProjBEAM\CommLib;C:\ProjBEAM\Other;C:\ProjBeam\Example\Documents;C:\ProjBeam\CommLib\TiLib -DNO_STRICT;B__AUTO;B__AO;B__COMPRESS;B__COMMON_CLASS;B__COMMON;B__MANAGER;B__USER;B__USERIMG;B__DBUTIL;B__TERMINAL;B__TILIB -n $(CPPFILES)
Borland C++ for Win32 IDE Console Compiler Copyright (c) 1993, 2002 Borland
f_Beam.cpp:
Beam.cpp:
437550 lines in 2 files compiled in 6.33 seconds
[Commandline] "C:\Program Files\Borland\CBuilder6\Bin\ilink32.exe" -D"" -H:0x400000 -Hc:0x4000 -S:0x40000 -Sc:0x4000 -aa -Tpe -x -Gn -t -L"C:\Program Files\Borland\CBuilder6\lib\obj";"C:\Program Files\Borland\CBuilder6\lib";"C:\Program Files\Borland\nrCommLib\CBuilder6";"C:\Program Files\Borland\CBuilder6\lib\release";"C:\Program Files\AidAim\Accuracer\Lib\C++ Builder 6";"C:\Program Files\Borland\CBuilder6\Bin";"C:\Program Files\Borland\CBuilder6\Imports";"C:\Program Files\Borland\CBuilder6\Projects\Bpl";"C:\Program Files\Borland\CBuilder6\Projects\Lib" $(OBJFILES),C:\ProjBeam\Beam.exe,C:\ProjBeam\Beam.map,bcbsmp.lib qrpt.lib bdertl.lib vcldb.lib dbrtl.lib vclx.lib vcl.lib rtl.lib import32.lib cp32mt.lib,,C:\ProjBeam\Beam.res
Assertion failed: Config, file C:\src\ilink\import.cpp, line 311
Abnormal program termination
Кстати, Builder 5 и 6 не любят длинные пути к себе в bin. Советую ставить Билдера в каталог покороче и без пробелов, что-то вроде "C:\Proger\CBuilder6" вместо "C:\Program Files\Borland\CBuilder6". Хотя, в данном конкретном случае причина ассершна, скорее всего, другая.
У всех по-умолчанию в program files ставится, и работает без проблем.
А вот пути к билдеровским файлам в настройках проекта лучше через переменную BCB прописывать. Вот так: $(BCB)\include
А ещё при необъяснимых глюках компиляции помогает создание проекта заново - просто старые юниты подключаются...
По поводу пересоздания проекта - когда-то пробовал, не помогает.
Собственные эксперементы показывают, что есть проблема с размером кода. Возможно существуют ограничения на размер одной функции
или методов одного класса, чтобы они помещались в "какой-то" сегмент кода? Я в этом не разбираюсь. Но Вы, умы мира ... ;)))
Кстати, в настройках проекта, в разделе Linker->PE File Optios
задаются размеры стека и т.п. Кто-то разбирался с этими параметрами?
Можете объяснить?
Вопрос: в Builder-е существуют ограничения на размер создаваемого
EXE файла?
Не слышал о таком. У меня есть проекты с exe-шниками по 9 Мб и проблем не было.
А вот пути к билдеровским файлам в настройках проекта лучше через переменную BCB прописывать. Вот так: $(BCB)\include
А ведь на командную строку для компилятора это никак не влияет, такие переменные окружения расширяются своими значениями...
Пожалуйста, посмотрите мой проект ProjBeam в разделе "Другое".
Проект "Beam.bpr" с опцией B__TEST.
Это тестовый проект многодокументной БД.
Мой проект, в котором проявляется ошибка линковки,
отличается лишь индивидуальным описанием документов
(и как следствие размером).
Несколько раз сталкивался с ситуациями (и не только на своей машине), когда возникали непонятные глюки при сборке больших проектов, пропадавшие при переустановке Стройки в короткий каталог без пробелов. Следовательно, бывает, и АСК здесь ни при чём.
переименовал в короткие названия. Всё это ерунда!.
Не в этом проблема.
А вот по поводу настроек в разделе Linker->PE File Optios
кто-то знающий раскажет?
Я, как-то пробовал менять их, и на определённом
этапе проблема исчезла. Может для кого-то из Вас
это будет "зацепкой" за истину ...
переименовал в короткие названия. Всё это ерунда!
Всё -- это что? См. мой пост:
Твой код, если всё ещё надо, завтра посмотрю, сегодня уже с ног валюсь (не знаю, как у вас, а у нас уже ночь).