Simplex |
Отправлено: 27.06.2005, 14:27 |
|
Не зарегистрирован
|
Народ! Есть такая проблема! Я использую ф-ии LoadChartFromFile и SaveChartToFile в C++Builder 5.0. При компоновке с package всё компилится, компонуется нормально, а когд я хочу сделать релизную версию и убираю опцию Build with runtime runtime packages, то компоновщиу выдаёт две ошибки:
[Linker Error] Unresolved external '__fastcall Teestore::LoadChartFromFile(Chart::TCustomChart *&, const System::AnsiString)' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER5\TEMP\PLOT_UNIT.OBJ
[Linker Error] Unresolved external '__fastcall Teestore::SaveChartToFile(Chart::TCustomChart *, const System::AnsiString)' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER5\TEMP\PLOT_UNIT.OBJ
Я методом научного тыка определил, что если компоновать с TEEUI50 и TEE50, то подобной ошибки не возникает. Но при этом, естесственно, на любом другом компе, где нет Builder'а эти ф-ии работать не будут, т.к. не будет библиотек.
Подскажите, как можно решить эту проблему или любые другие альтернативные способы решения.
Заранее благодарен. |
|
AVC |
Отправлено: 29.06.2005, 10:01 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE |
когд я хочу сделать релизную версию и убираю опцию Build with runtime runtime packages
|
Какое отношение имеет опция Build with rtp к "релизной версии"? Этот чекер — вопрос политики распространения. У вас две возможности — встроить библиотеку в приложение или поставлять свое приложение вместе с внешней библиотекой.
|
|
Dimka |
Отправлено: 29.06.2005, 11:30 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 3
|
Ну не знаю, не знаю... Вообще-то эта опция и встравивает библиотеки в конечное приложение... Это легко понять даже исходя из того, что размер полученного файла без этой опции почти на 0.5Мб больше. И при все всё при этом скомпилированный с этой опцией ехешник на компах, гже нет Билдера не запускается и ругается на отсутствие хотя-бы той же vcl50, а без этой опци всё нормально запускается везде... Просто по каким-то причинам возникает эта ошибка только при использовании этих функций. Может потому что они описаны отдельно в teestore.h и не являются функциями-членами TChart...
AVC, в связи с твоим ответом, хотел бы у тебя и спросить, как корректно встротиь библиотеку в конечный файл и если поставлвять приложение вместе с бибюлиотекой, то как эту библиотеку потом зарегестрировать в систем и т.д.???
P.S. И ещё раз хотел бы отметить, что я полностью не согласен с тем, что чекер Build with runtime packages — вопрос политики распространения... (и вообще непонятно к чему это) |
|
AVC |
Отправлено: 29.06.2005, 15:20 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE |
как корректно встротиь библиотеку в конечный файл
|
Не указывать её в списке Runtime packages и, желательно, включить хотя бы один из её глобальных символов в глубоко лежащий пакет (при использовании пакетов).
QUOTE |
если поставлвять приложение вместе с бибюлиотекой, то как эту библиотеку потом зарегестрировать в систем и т.д.?
|
Положить её (библиотеку) в каталог с приложением или %System%
QUOTE |
P.S. И ещё раз хотел бы отметить, что я полностью не согласен с тем, что чекер Build with runtime packages — вопрос политики распространения... (и вообще непонятно к чему это)
|
Это ваши проблемы. Чекер и список определяют что включать в "комплект поставки".
|
|
Dimka |
Отправлено: 29.06.2005, 15:57 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 3
|
Так вот как раз, когда я не включаю библиотеку TEEUI50 и TEE50 в этот список, то она и не компилится. Собственно по этому я и задал этот вопрос, имя в виду что таким образом Билдер не хочет встраивать её в результирующий файл. Поэтому этот вопос всё также отсаётся актуальным и ответа на него пока никто дать не может... |
|
AVC |
Отправлено: 29.06.2005, 17:10 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Простите, что то меня глючит после праздников.
К проекту нужно подключить lib файл.
Project — Add to project — $(BCB)\lib\teeui??.lib
или
#pragma link "teeui??.lib"
или
есть еще способ, сейчас не вспоминается.
|
|
Dimka |
Отправлено: 29.06.2005, 23:14 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 3
|
[B] О! Вот это уже дельный совет... Thank you very much. Теперь всё работет.
P.S. Мы достигли консенсуса |
|
Rius |
Отправлено: 07.07.2005, 20:06 |
|
Мастер участка
Группа: Участник
Сообщений: 321
|
и есть еще один способ: перед установкой пятого полностью удалить все следы четвертого Chart'а, такое бывает из-за одинаковых по именам файлов от разных версий
|
|