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

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Библиотеки с собой чтоли носить???  (Прочитано 16362 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Russian
Гость
« : 13-07-2004 21:53 » 

Когда я запускаю exe скомпилированые с помощю CBuilder на другой машине прога говорит что не находит той или иной библиотеки! Их что, с собой носить нужно? И тогда как узнать какие?
Записан
Mayor
Специалист

ru
Offline Offline

« Ответ #1 : 14-07-2004 02:34 » 

проверь через depends.exe
Записан

1n c0de we trust
Migmile
Помогающий

ru
Offline Offline

« Ответ #2 : 14-07-2004 09:45 » 

В опциях проекта убрать галочку на закладке Linker ->Use debug libraries
и Packages->Build with runtime packages
Записан
Russian
Гость
« Ответ #3 : 15-07-2004 21:25 » 

Migmile, вес проги сразу в 6 раз увеличился Улыбаюсь  Спасибо Ага


Модеры, почему я не могу + поставить человеку?
Записан
Kuzmich
Гость
« Ответ #4 : 16-07-2004 06:52 » 

Цитата: Russian
Модеры, почему я не могу + поставить человеку?
Репутацию можно менять после 50 сообщений, так что поспамь в общении побольше Улыбаюсь
Записан
Russian
Гость
« Ответ #5 : 16-07-2004 08:08 » 

Блин, опять. Теперь необходима библиотека BORLNDMM.DLL! Есть еще способ?
Записан
kisilevski
Постоялец

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

WWW
« Ответ #6 : 16-07-2004 08:25 » 

Ещё можно таскать ДЛЛ в ресурсах, и при необходимости разворачивать. Однако, лучше дистрибутив изготовить.
Записан

Ложки нет. See MSDN for details.
Russian
Гость
« Ответ #7 : 16-07-2004 10:57 » 

kisilevski, подробней пожалуйста

Можно ли как-то проверить какие библиотеки нужны программе? Тут писали про depends.exe, но где ее найти?
Записан
Russian
Гость
« Ответ #8 : 16-07-2004 10:58 » 

Вообще как дистр сделать?
Записан
kisilevski
Постоялец

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

WWW
« Ответ #9 : 16-07-2004 12:00 » 

depends.exe есть в дистрибутиве MSVC 6, могу мылом кинуть, если надо, 150 кб зипованный весит. В ресурсах я её таскаю на MSVC, ежели сумеешь её перевести на Builder, то применишь.

Вытаскивают из ресурсов так:



Код:

bool FileExtract)CString StrPath, DWORD ResourceID, FILETIME &ftNew:
|
 CString ResName,ResType;
 ResName.Format)_T)"#%d":,ResourceID:;
 ResType = _T)"RFILE":;

 HRSRC hres = FindResource)NULL, ResName, ResType:;
 if )hres == 0:|
  MessageBoxEx)NULL, "Не удалось распаковать ресурс.",
  "Сообщение из CheckDrivers", MB_OK|MB_ICONSTOP|MB_TASKMODAL, 0x0419:;
return false;
 "
 
 HGLOBAL hbytes = LoadResource)NULL, hres:;      
 LPVOID pdata = LockResource)hbytes:;
 LPCVOID pBuf = )LPCVOID:pdata;
 DWORD nSize = SizeofResource)NULL,hres:;

 handle_t hFile = CreateFile)StrPath, GENERIC_WRITE, FILE_SHARE_READ,\
NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0:;
 if)hFile == INVALID_HANDLE_VALUE:| // проверяем, как открылся файл
  MessageBoxEx)NULL, "Не удалось создать результирующий файл\n" + StrPath, "FileExtract", MB_OK|MB_ICONERROR|MB_TASKMODAL, 0x0419:;
  return false; //  выйдем из функции, сообщив, что не всё хорошо.
 "

 unsigned long Writen=0; // Количество записанных байтов
 WriteFile)hFile, pBuf, nSize, &Writen, NULL:;
 SetFileTime)hFile, NULL, NULL, &ftNew:;
 CloseHandle)hFile:; // Отпустим поручень файла.
 if)Writen == nSize: return true;
 else return false;

"


StrPath - это куда положить;
ResourceID - это ID ресурса;
ftNew - это время, которое ставишь файлу как время модификации - я пишу туда дату создания драйвера;
"RFILE" - это название секции ресурсов. Незнаю, как это будет в Builderе, наверное должно быть. На MSVC оно так выглядит:


Код:

/////////////////////////////////////////////////////////////////////////////
//
// RFILE
//

IDR_EXTRCT_ECOM_DATA    RFILE                   "..\\..\\_Bin\\Ecom_Data.dll"
IDR_EXTRCT_ECOM_LOSSES  RFILE                   "..\\..\\_Bin\\Ecom_Losses.dll"
Записан

Ложки нет. See MSDN for details.
kisilevski
Постоялец

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

WWW
« Ответ #10 : 16-07-2004 12:09 » 

А чтобы дистр изготовить  - куча тулзов на то имеется.

Самый распространённый - это InstallShield, у них есть специфические упрощённые мутации для Builderа, для Delphi итд., спрашивайте в киосках города.

Есть неплохой отечественный инструмент - CreateInstall называется.
Версия 3.30 - просто и эффективно.
Понавороченней - это 2000й.

В VC7.0 был встроенный инструмент на эту тему - создавал .MSI

Однако, если сам можешь файлики писать и ключи реестра создавать - можно и свой накидать. Инсталляха - это не так уж и сложно.
Записан

Ложки нет. See MSDN for details.
Russian
Гость
« Ответ #11 : 18-07-2004 01:02 » 

kisilevski, а depends.exe ты мне кинь на admin@inattack.ru буду благодарен Ага
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #12 : 21-04-2006 17:16 » 

(комент)

ЧАВО
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines