Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.95/20: Рейтинг темы: голосов - 20, средняя оценка - 4.95
 Аватар для TGrey[WoLf]
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683

Работоспособность lib на другой машине

08.06.2009, 15:39. Показов 4074. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите должна ли работать lib на другой машине, где нет установленного компилятора? Тоесть только ЕХЕ и lib.
Если да, то какие настройки нужно установить т.к. программа сразу закрывается в моем случае.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.06.2009, 15:39
Ответы с готовыми решениями:

Как в VS 2015 устранить ошибку LNK 1104 cannot open file 'fltkd.lib wsock32.lib comct132.lib fltkjpegd.lib'?
как устранить ошибку LNK 1104 в visual studio community 2015? пункта C/C++ в properties нету Можете сказать куда его перенесли или...

Где скачать opengl32.lib, glu32.lib и glaux.lib из OpenGl?
Привет всем... Нужна помошь немогу найти lib Opengl такие как opengl32.lib, glu32.lib и glaux.lib где можно их скачать? (в гугле лазил...

доступ к файлу на другой машине
ситуация в следующем: на одной машине находится ASP-приложение, которое должно открывать на чтение файл текстовый находящийся на другой...

26
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
08.06.2009, 16:33
lib -это библиотека компоновщика.
что значит "должна ли работать lib на другой машине"?
библиотека компоновщика - не исполняемый файл, она не запускается.
Программа может закрываться по нескольким причинам, но lib в их число не входит.

Добавлено через 3 минуты 33 секунды
Если программа закрывается без сообщения, то возможно, она не находит какую-то библиотеку. Но не компоновщика.
эти библиотеки имеют расширение dll.
если программа на MFC - скопируйте с исходной машины MFC90.dll или аналогичную с именем MFCxxx.dll
0
 Аватар для TGrey[WoLf]
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683
08.06.2009, 16:53  [ТС]
Ну само собой. Просто в задании было указано сделать программу с статической либой.
Программа консольная. И она не работает на машинах, где не установлены компиляторы.
А поскольку я либы еще не создавал, вот и спрашиваю, должна ли программа вместе с либой работать на другой машине или либа только для компилятора предназначена?
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
08.06.2009, 17:10
Епть... (не мат, просто огорчение)
Библиотека (программирование)
[править]Материал из Википедии — свободной энциклопедии
(Перенаправлено с Библиотека (компьютер))Текущая версия (не проверялась)Перейти к: навигация, поиск
Библиотека (в программировании, от англ. library) — сборник подпрограмм или объектов для решения близких по тематике задач.

В некоторых языках то же, что модуль, в некоторых — несколько модулей.

С точки зрения ОС и прикладного ПО библиотеки разделяются на: динамические и статические.


[править] Динамические библиотеки
Также называются библиотеки общего пользования или разделяемые библиотеки (англ. shared library) или динамически подключаемые библиотеки (англ. Dynamic Link Library, DLL). Это отдельные файлы, предоставляющие прикладным программам набор наиболее часто используемых функций, и загружаемые на этапе выполнения при обращении программы к ОС с заявкой на выполнение функции из библиотеки. Если запрошенная библиотека уже загружена в ОЗУ, программа будет пользоваться загруженной копией. Такой подход позволяет экономить память, поскольку несколько программ используют одну копию библиотеки, загруженную в память.

Динамические библиотеки хранятся обычно в определенном месте и имеют стандартное расширение. Например, файлы .library в логическом томе Libs: в AmigaOS; в Microsoft Windows и OS/2 файлы библиотек общего пользования имеют расширение .dll; в UNIX‐подобных ОС — обычно .so; в MacOS — .dylib.

При написании программы программисту достаточно указать транслятору языка программирования (компилятору или интерпретатору), что следует подключить такую-то библиотеку и использовать такую-то функцию из указанной библиотеки. Ни исходный текст, ни исполняемый код функции в состав программы не входит.


[править] Статические библиотеки
Могут быть в виде исходного текста, подключаемого программистом к своей программе на этапе написания (например, для языка Fortran существует огромное количество библиотек для решения разных задач именно в исходных текстах), либо в виде объектных файлов, присоединяемых (линкуемых) к исполняемой программе на этапе компиляции (в Microsoft Windows такие файлы имеют расширение .lib, в UNIX‐подобных ОС — обычно .a). В результате программа включает в себя все необходимые функции, что делает её автономной, но увеличивает размер.
лень в яндекс зайти?
0
 Аватар для TGrey[WoLf]
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683
08.06.2009, 18:09  [ТС]
Я читал подобное этому, но это не дает ответ почему программа не работает на других машинах?
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
08.06.2009, 18:17
вариантов не очень много.
что делает программа?
0
 Аватар для TGrey[WoLf]
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683
08.06.2009, 18:20  [ТС]
Рассылает бродкаст.
Я сделал ее в 2005 студии кинул другу у него стояла 6. Не работала программа. Потом он поставил 2005 заработало. Он у себя скомпилил программу понес преподу у него тоже не работает.
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
08.06.2009, 18:26
значит не статичные библиотеки.
без вариантов. смотрите параметры проекта.
0
 Аватар для TGrey[WoLf]
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683
08.06.2009, 18:43  [ТС]
Ну как это?! На компилируемой машине же работает.
Создал проект Статической библиотеки.
Скомпилил либу.
Добавил в этот проект еще консольный проект.
Установил Референс на либу.
Указал пути к либе.
Откомпилил все вместе.
У меня и там где есть 2005 визуал работает. Там где нет 2005 не хочет. Сразу закрывается.
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
08.06.2009, 19:20
Читай про redist_x86. На целевой машине, если не установлен, надо ставить. Началось с VS 2005.
0
Заказ софта
 Аватар для Search..
343 / 188 / 21
Регистрация: 26.05.2009
Сообщений: 863
08.06.2009, 19:21
Не работает потому, что на машине (на которой твоя прога не запускается) не установлен .NET Framework...
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
08.06.2009, 19:46
вариантов-то, вариантов...
что такое "референс на либу" я вообще не понял.
а вопрос был не о том, все вместе ты скомпилил или нет, а только в том,
как у тебя в проекте указано Runtime Library.
по умолчанию ставится "MultiThreaded Dll".
Тебе надо поставить или просто "MultiThreaded", или "SingleThreaded".
или, что то-же самое, параметр компилятора "/MT"
и скомпилить заново.
0
 Аватар для TGrey[WoLf]
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683
11.06.2009, 21:19  [ТС]
Эмм причем Framework к либе?
Как кокой еще референс. В консольном приложении в меню Reference добавляет созданую либу.

Да я уже находил тему про эти опции, но когда я их меняю вообще не компилируется.
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
11.06.2009, 22:33
Цитата Сообщение от TGrey[WoLf
Как кокой еще референс. В консольном приложении в меню Reference добавляет созданую либу.
я всегда в настройках проекта пути прописывал к папке библиотек.
и забрасывал в нее свои библиотеки.
и ни в какой референс их не добавлял.
Цитата Сообщение от TGrey[WoLf
Да я уже находил тему про эти опции, но когда я их меняю вообще не компилируется.
вот-вот, поподробнее, поподробнее...
что пишет компилятор?
0
 Аватар для TGrey[WoLf]
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683
14.06.2009, 14:03  [ТС]
Ну насчет Reference это с мсдн в опписании, как создавать статическую либу.
На Multy-Threaded

Linking...
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _atoi already defined in LIBCMT.lib(atox.obj)
MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
C:\Documents and Settings\Не Входить!\Мои документы\Visual Studio 2005\Projects\udp\Debug\CS.exe : fatal error LNK1169: one or more multiply defined symbols found
Build log was saved at "file://c:\Documents and Settings\Не Входить!\Мои документы\Visual Studio 2005\Projects\udp\CS\Debug\BuildLog.htm"
CS - 4 error(s), 3 warning(s)
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
15.06.2009, 12:23
по-моему, все ясно написано.
проблема именно в том, что у тебя где-то, видимо в этих твоих "референсах", прописано обращение к дефолтным библиотекам.
линкер видит одну и ту-же библиотеку дважды, и не знает, из какой брать код для сборки.
тебе он советует использовать /NODEFAULTLIB.
чтобы библиотеки "по-умолчанию" не загружались.
в MSVS 2008 это пункт свойств конфигурации "Компоновщик" - "Ввод"
строчка "Игнорировать все стандартные библиотеки".
0
 Аватар для TGrey[WoLf]
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683
15.06.2009, 13:23  [ТС]
Да нет вот командная строка
/OUT:"C:\Documents and Settings\Не Входить!\Мои документы\Visual Studio 2005\Projects\udp\Debug\CS.exe" /INCREMENTAL /NOLOGO /MANIFEST /MANIFESTFILE:"Debug\CS.exe.intermediate. manifest" /DEBUG /PDB:"c:\Documents and Settings\Не Входить!\Мои документы\Visual Studio 2005\Projects\udp\debug\CS.pdb" /SUBSYSTEM:CONSOLE /MACHINE:X86 /ERRORREPORT:PROMPT kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib "..\debug\udp.lib"
Оно только 1 раз использует либу.
Попробовал включить игнорирование стандартных библиотек, но тогда, как наверно понятно вообще ничего не работает. На каждое слово ошибка.
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
15.06.2009, 13:34
блин... ВКЛЮЧИ /NODEFAULTLIB !!!!
/OUT:"C:\Documents and Settings\Не Входить!\Мои документы\Visual Studio 2005\Projects\udp\Debug\CS.exe" /INCREMENTAL /NOLOGO /MANIFEST /MANIFESTFILE:"Debug\CS.exe.intermediate. manifest" /NODEFAULTLIB /DEBUG /PDB:"c:\Documents and Settings\Не Входить!\Мои документы\Visual Studio 2005\Projects\udp\debug\CS.pdb" /SUBSYSTEM:CONSOLE /MACHINE:X86 /ERRORREPORT:PROMPT kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib "..\debug\udp.lib"
у тебя все библиотеки в списке.
0
 Аватар для TGrey[WoLf]
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683
15.06.2009, 18:20  [ТС]
Не, теже ошибки. Жалуется на все имена.
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
15.06.2009, 18:35
тогда как ты их подключал?
я так и не понял, что у тебя за "референсы".
вот выдержки из справки:
способ 1.
Для добавления LIB-файлов в качестве ввода компоновщика в среде разработки
Откройте диалоговое окно Страницы свойств проекта. Дополнительные сведения см. в разделе Настройка свойств проекта Visual C++.

Выберите папку Компоновщик.

Выберите страницу свойств Ввод.

Измените параметр Дополнительные зависимости.
способ 2.
Параметр /LIBPATH предназначен для переопределения пути к библиотеке среды. Сначала компоновщик выполняет поиск по указанному в этом параметре пути, а затем — по пути, указанному в переменной среды LIB. Для каждого вводимого параметра /LIBPATH можно указать только один каталог. Чтобы задать несколько каталогов, используйте соответствующее число параметров /LIBPATH. Порядок определения каталогов задает порядок поиска в них.

Установка параметра компоновщика в среде разработки Visual Studio
Откройте диалоговое окно Страницы свойств проекта. Дополнительные сведения см. в разделе Установка свойств проекта Visual C++.

Выберите папку Компоновщик.

Откройте страницу свойств Общие.

Измените значение свойства Дополнительные каталоги библиотек.
что из них ты использовал?
я так всегда пользовался вторым... прописывал путь к дополнительной папке с моими библиотеками.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.06.2009, 18:35
Помогаю со студенческими работами здесь

Запуск программы на другой машине
У меня маленький вопрос: как можно запустить прогу, написанную в Cbuilder на компе обычного пользователя, без установленных сред...

ADO и access (бд на другой машине)
Всем Здрасте. Мне необходима реализовать работу с БД. Все понятно, но не знаю как реализовать: Чтоб db.mdb лежит на другом компьютере, а...

Приложение не запускается на другой машине
Здравствуйте. У меня нарисовалась такая проблема: Программы, которые я пишу, работают только у меня на компьютере. На другом...

Не работает DllImport на другой машине
Здравствуйте. Вопрос из области гаданий на кофейной гуще, но вдруг? У меня есть sollution на C#, в нём есть одна библиотека, в...

Компоненты и шрифты на другой машине..
Доброго всем дня... Подскажите на работе у меня стоит VB 60 и в проекте я использую компонент Microsoft Windows Common Controls 6.0 (SP6)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru