Russian Qt Forum
Ноябрь 24, 2024, 06:40 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 ... 5 6 [7]   Вниз
  Печать  
Автор Тема: [4.3.0-win] Как быть с dll?  (Прочитано 53374 раз)
Icoz
Гость
« Ответ #90 : Май 05, 2008, 22:30 »

нашел на rsdn следующую вещь: http://www.rsdn.ru/Forum/?mid=98720
Цитировать
У борланда указанный прототип функции приведет к внутреннему имени функции MyProc
У майкрософта указанный прототип функции приведет к внутреннему имени функции _MyProc@0

Линкеры обоих будут разыскивать в lib-файлах (библиотеках импорта) именно внутренние имена. При успешной компиляции и линковке каждый нашел свое. Весь вопрос в библиотеках импорта — какой способ связывания в них прописан. Скорее всего — по имени. Раз так, то клиент, собранный борландом, будет искать в dll имя MyProc — и, о чудо!, найдет его. Клиент, собранный VC, будет искать MyProc@0 — и, горе ему!, не найдет такого.

Итак, дело в библиотеках импорта. Если бы они оба использовали либы, связывающие по ординалам, оба с достоинством выполнили бы задачу.
Собссно вопрос: как указать линкеру, чтобы он юзал связывание по ординалам, а не по имени?
Записан
Tonal
Гость
« Ответ #91 : Май 06, 2008, 07:15 »

Используй *.def файлы.
Записан
Icoz
Гость
« Ответ #92 : Май 06, 2008, 13:50 »

Так. А подробнее?
По-моему в этой теме я писал уже по def-ам много всего.
В частности, см. посты http://prog.org.ru/forum/index.php/topic,6032.msg26588.html#msg26588 и http://prog.org.ru/forum/index.php/topic,6032.msg26539.html#msg26539. Как видишь, def я и юзаю.
Записан
Страниц: 1 ... 5 6 [7]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.191 секунд. Запросов: 21.