StaRR.Ru Forum StaRR.Ru
Хочешь поговорить об этом?
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Специалисты по настройке Borland C++ есть?

 
Начать новую тему   Ответить на тему    Список форумов StaRR.Ru -> Танцы с бубном вокруг компьютера
Предыдущая тема :: Следующая тема  
Автор Сообщение
StaC
Администратор


Зарегистрирован: 30.01.2005
Сообщения: 1550
Откуда: 013 в тентуре

СообщениеДобавлено: Пн Апр 17, 2006 9:35 pm    Заголовок сообщения: Специалисты по настройке Borland C++ есть? Ответить с цитатой

Конечно, вряд ли тут кто мне ответит, но люди всякие ходят, может, кто знает.

Имеется: Borland C++ 5.02
Стоит в: E:\Program Files\Borland\BC

Проблемы с 16-битным линкованием. В общем, он после компиляции всего кода и ресурсов 16-битного приложения создает, как и должен, файл *.r$p с параметрами для TLINK, и пытается его вызвать так:
E:\Program Files\Borland\BC\BIN\TLINK.EXE @(полный-путь-к-файлу)\filename.r$p

Итог: сообщение об ошибке "Данный компонент может быть вызван только из IDE", в отчете: Could not load TLINK.EXE

Руками из командной строки выполняем ту же команду - все чики-пуки, все линкуется на ура.

Было предположение, что у него проблемы с NTFS или с длинными именами файлов (потому что на FAT16/32 !без длинных имен! все работает без проблем!). Копнул INI, реестр, везде, где нашел Program Files, написал PROGRA~1. Проблема не решена.

Никто не сталкивался из мимопроходящих? Ибо насколько я знаю, постоянные посетители форума особо этим не занимаются.

_________________
Собирайтесь, господа, собирайтесь Улыбка
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Flann O'Brien
Безцеллерист


Зарегистрирован: 28.02.2005
Сообщения: 326

СообщениеДобавлено: Пн Апр 17, 2006 10:29 pm    Заголовок сообщения: Ответить с цитатой

А путь к созданному файлу строится через использование глобальных/локальных пременных или прописывается абсолютно?
ИМХО замена на *~1 не вполне адекватна. Правильнее было бу поменять путь на другой, не содержащий пробелы - несколько раз сталкивался с косяками именно из-за этого (софт из-под UNIX портировали под винды и с путями получилось полное уродство). Пришлось писать запускные bat-файлы с предварительной установкой переменных и последующим вызовом программы.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
StaC
Администратор


Зарегистрирован: 30.01.2005
Сообщения: 1550
Откуда: 013 в тентуре

СообщениеДобавлено: Пн Апр 17, 2006 10:42 pm    Заголовок сообщения: Ответить с цитатой

Вариант "переустановить в путь без пробелов" - не вариант. Потому что это слишком простое решение Улыбка

На эту тему, кстати, ActivePerl тоже предупреждает: не ставьте в путь с пробелами, однако работает уже 4 года без проблем в E:\Program Files\ActiveState\ActivePerl Улыбка

Не, нормальному софту вполне достаточно замены на короткое имя (например, SuperVoice старенький на ура работает) (в NTFS они генерятся не всегда как ~1, чтобы узнать - DIR /x, но в данном случае именно PROGRA~1).

В общем, после прописки параметров командная строка получается такая у него, к примеру:

E:\Program Files\Borland\BC\BIN\TLINK.EXE @E:\Projects\Soft\AnyFile.r$p

Ну, что смущает, так это E:\Program Files, но не могу понять, чем смущает. Сама среда 32-битная под вин95/98 изначально делалась, ей имена файлов по барабану, тем более что аналогичное обращение к TLINK32 на ура происходит... Видимо, дело тут в NTDVM все-таки... Помнится, в 98 винде никаких дополнительных прибамбасов типа NTDVM не требовалось для запуска 16-битных приложений... А вот куда залезть, чтобы вместо такой строки написать

Cmd /c E:\Program Files\Borland\Bc\Bin\Tlink... Так должно сработать - сам cmd - 32 битный, с ним проблем при запуске не будет, а уж он-то без проблем TLINK выполнит. Но сколько я ни копал разные настройки, такое ощущение, что эта строка прописана примерно так в самой программе App.Path + "\tlink.exe"...

_________________
Собирайтесь, господа, собирайтесь Улыбка
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Flann O'Brien
Безцеллерист


Зарегистрирован: 28.02.2005
Сообщения: 326

СообщениеДобавлено: Ср Апр 19, 2006 12:18 am    Заголовок сообщения: Ответить с цитатой

StaC писал(а):
Вариант "переустановить в путь без пробелов" - не вариант. Потому что это слишком простое решение Улыбка

Не, нормальному софту вполне достаточно замены на короткое имя ....

Cmd /c E:\Program Files\Borland\Bc\Bin\Tlink... Так должно сработать - сам cmd - 32 битный, с ним проблем при запуске не будет, а уж он-то без проблем TLINK выполнит. Но сколько я ни копал разные настройки, такое ощущение, что эта строка прописана примерно так в самой программе App.Path + "\tlink.exe"...


Про переустановить я и не говорил.
У меня вот пакет ставился в самостоятельную директорию с адекватными именами, но вот незадача - при работе использовал переменную HOMEPATH, определенную в виндах как "С:\очень\..\ многа буков\" Там тебе и пробелы, и длинные имена, и остальные радости жизни. Поэтому теперь прога запускается файлом след. содержания:
---------------------------
SET HOMEPATH=C:\arcgis\
C:\arcgis\arcexe81\bin\arc.exe arctools
-------------------------------------
Чтобы выяснить, что косяк был именно в кривом пути потратил почти месяц периодических копаний...
Особенно если судить по твоей последней фразе, то я бы искал в эту сторону. Тут главное выяснить какая переменнная исполльзуется - внутрипрограммная или общесистемная. Тогда их определять надо по-разному, да и посмотреть ПОЛНЫЙ список переменных винды со значениями можно почему-то только из командной строки Грусть

_________________
"Фотография для меня это... как её... в-общем... то, что эта... делает человека... для человека... из... забыл нах." (c) KGT
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Кизлодда
Безцеллерист


Зарегистрирован: 30.04.2005
Сообщения: 356
Откуда: голос из задницы

СообщениеДобавлено: Чт Апр 20, 2006 1:17 am    Заголовок сообщения: Ответить с цитатой

Ой. Что это понаписано? Кажется, я не туда попала. Радость Пойду на женский форум.
_________________
Ах, оставьте эти ваши штучки, дайте другие! (с)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Star
Мегамоедратор


Зарегистрирован: 31.01.2005
Сообщения: 1627
Откуда: Из далекого Космоса

СообщениеДобавлено: Чт Апр 20, 2006 11:05 am    Заголовок сообщения: Ответить с цитатой

Кизлодда писал(а):
Ой. Что это понаписано? Кажется, я не туда попала. Радость Пойду на женский форум.


Это руны программистов. Довольно сложная магия. Ее изучению они посвящают много лет, а на выходе не могут вызвать даже обнаженную девственницу (а если и могут, то уже в таком возрасте, что совершенно неясно, что с ней делать). В общем, пойду я тоже лучше на женский форум. Радость

_________________
The weather is hot, so as Anna
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов StaRR.Ru -> Танцы с бубном вокруг компьютера Часовой пояс: GMT + 4
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять приложения в этом форуме
Вы можете скачивать файлы в этом форуме


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB
[ Главная | Star'ания | Star'ение | StarCH | Star FAQ ]