Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/43: Рейтинг темы: голосов - 43, средняя оценка - 4.91
3 / 0 / 0
Регистрация: 27.09.2012
Сообщений: 7

При создании x64 dll не создаётся файл lib

13.01.2013, 13:03. Показов 8428. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Давно уже пользуюсь своей математической библиотекой, собранной в виде dll, так что код рабочий. В текстах функций ничего, кроме стандартных математических функций не применяется (sin, sqrt и т.д.). В C++ Builder XE3 решил перевести ее в 64-разрядный код и облом. Dll создается, а файл lib - нет. А без него не знаю как подцепить библиотеку. Проверил в 32-разрядном проекте - все отлично, lib генерится, dll работает как надо. Может подскажете что делать? Я не программист, просто пишу небольшие прикладные программки для работы.
PS. Тему "Dynamic-Link Library: Теория + Практика" смотрел. Там везде требуется lib - файл.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.01.2013, 13:03
Ответы с готовыми решениями:

Не создается lib файл
Есть проект на VS c++ 2010. При его компиляции выскакивает вот такое предупреждение: 1>C:\Program Files...

Не создается файл .lib
Здравствуйте, такой вопрос. VS2012 Создал консольное приложение Win32, поставил при создании - статическая библиотека. После добавил в...

Почему при создании веб-страницы в FrontPage автоматически создается папка с изображениями, а при создании веб-страницы в DreamWeaver - нет?
Если я создаю веб-страницу в FrontPage и называю ее, например, page.html, то автоматически создается папка page.files, где хранятся все...

13
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
13.01.2013, 13:54
Цитата Сообщение от Termius Посмотреть сообщение
Там везде требуется lib - файл.
Для динамической линковки не требуется. Всего используется LoadLibrary и GetProcAddr
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
13.01.2013, 14:53
Цитата Сообщение от Termius Посмотреть сообщение
В C++ Builder XE3 решил перевести ее в 64-разрядный код и облом. Dll создается, а файл lib - нет.
Настройки какие-нибудь где-нибудь... может, lib в отдельной папке где-то оседает?
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.01.2013, 16:39
Да стоит проверить настройки, как путь куда создаются lib так, и галочку где автоматическое создание lib
0
3 / 0 / 0
Регистрация: 27.09.2012
Сообщений: 7
13.01.2013, 21:16  [ТС]
Цитата Сообщение от mimicria Посмотреть сообщение
Для динамической линковки не требуется. Всего используется LoadLibrary и GetProcAddr
Спасибо, получилось. Но жутко неудобно без статической подцепки. Численная программа может часами считать, постоянно используя функции из dll. А функций этих несколько десятков.

Цитата Сообщение от BRcr Посмотреть сообщение
Настройки какие-нибудь где-нибудь... может, lib в отдельной папке где-то оседает?
Цитата Сообщение от Avazart Посмотреть сообщение
Да стоит проверить настройки, как путь куда создаются lib так, и галочку где автоматическое создание lib
Это первое, что я сделал. Просканировал оба раздела C: и D: - нигде *.lib не создается. Опцию на автоматическое создание lib тоже не нашел, вроде все параметры просмотрел. Попробую еще раз.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.01.2013, 21:44
Проверьте
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.01.2013, 21:46
Цитата Сообщение от Termius Посмотреть сообщение
Опцию на автоматическое создание lib тоже не нашел, вроде все параметры просмотрел. Попробую еще раз.
Блин тоже не могу найти эту опцию...
Но судя по Архангельскому раньше она была в Project|Option|Linker|Generate import library.
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
14.01.2013, 08:04
Цитата Сообщение от Termius Посмотреть сообщение
Численная программа может часами считать, постоянно используя функции из dll. А функций этих несколько десятков.
Достаточно в начале один раз подцепить, а в конце отключить FreeLibrary. Не обязательно перед каждым вызовом заново использовать GetProcAddr
0
3 / 0 / 0
Регистрация: 27.09.2012
Сообщений: 7
19.01.2013, 01:50  [ТС]
Кое-что нашел на docwiki.embarcadero:
ILINK64 is the linker for C++ 64-bit Windows applications. Command syntax and usage for ILINK64 are the same as those of ILINK32.EXE, the 32-bit Incremental Linker. The main differences between the two C++ linkers for Windows are:

ILINK32 links .obj and .lib files into a 32-bit Windows executable or .dll.
ILLINK64 links .o and .a files into a 64-bit Windows executable or .dll.

With these main differences, you use the two linkers in the same ways.
Добавление в x64 проект *.o решило проблему.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
19.01.2013, 02:29
Цитата Сообщение от mimicria Посмотреть сообщение
Достаточно в начале один раз подцепить, а в конце отключить FreeLibrary. Не обязательно перед каждым вызовом заново использовать GetProcAddr
Ага а что если в библиотеке сотня другая ф-ций ?

Добавлено через 1 минуту
Цитата Сообщение от Termius Посмотреть сообщение
Добавление в x64 проект *.o решило проблему.
Не совсем понял куда надо и что добавить ?
0
3 / 0 / 0
Регистрация: 27.09.2012
Сообщений: 7
19.01.2013, 04:15  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Не совсем понял куда надо и что добавить ?
При сборке 64-разрядной dll не происходит создание файла *.lib. Так что, если мне надо статически подцепить 64-разрядную dll, то вместо *.lib добавляю в проект объектный файл *.o, пролученный при компиляции dll.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
19.01.2013, 04:17
Хм.. очень интересно... формат файла что ли поменяли ?
0
3 / 0 / 0
Регистрация: 27.09.2012
Сообщений: 7
19.01.2013, 04:20  [ТС]
Я поначалу пытался включать *.а, который теперь зовется "статическая библиотека". Ничего не вышло.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
19.01.2013, 04:23
Возможно это новшество связано с совместимость с MAС OS
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.01.2013, 04:23
Помогаю со студенческими работами здесь

При компиляции DLL-проекта не создается DLL-ка
Добрый день. создал в Visual Studio 2010 проект C+= типа DLL. В файл dllmain.cpp вставил вот такой код: // test.cpp: определяет...

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

Как при создании своей dll подключить туда сторонние dll
Здравствуйте, я работаю в связке C# - Oracle. Если коротко, то вопрос звучит так: "Как при создании своей dll подключить туда сторонние...

Не видит dll файл при создании "Библиотека элементов управления Windows Forms"
Вообщем ошибка на скрине по сути практически пустая форма. есть picturebox и label. Если нужна дополнительная информация скажите я...

не удается открыть входной файл "libMinHook.x64.md.140_xp.lib"
помогите решить проблему не может открыть либ или что Серьезность Код Описание Проект Файл Строка Состояние подавления ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru