Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Tools] создание dll в Compaq Visual Fortran 6, проблема компиляции динамической библ. 
:(
    Опции темы
IAO
Дата 11.6.2010, 06:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 11.6.2010

Репутация: нет
Всего: нет



Добрый день! хотелось бы проконсультироваться по следующему вопросу:
первое знакомство с dll в фортране: решила создать динамическую библиотеку как написано в книге Артёмова "фортран-основы программирования", описание дано пошаговое, поэтому ошибки исключены, всё компилируется без замечаний, однако при компиляции файла в проекте должны создаваться файлы *.dll *.lib *.exp , а мой компилятор создаёт только *.dll ( компилятор Compaq Visual Fortran 6.0)
в итоге библиотека не вызывается из другого проекта.
подскажите пожалуйста, в чём может заключаться проблема???
PM MAIL   Вверх
FCM
Дата 11.6.2010, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.3.2009

Репутация: 8
Всего: 9



Так бывает, если не задана или неправильно задана директива
Код

!MS$ATTRIBUTES DLLEXPORT :: ...

или
Код

!DEC$ATTRIBUTES DLLEXPORT :: ...

(PS
Цитата(IAO @  11.6.2010,  06:56 Найти цитируемый пост)
однако при компиляции файла в проекте должны создаваться файлы *.dll *.lib *.exp

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

Это сообщение отредактировал(а) FCM - 12.6.2010, 08:05
PM MAIL   Вверх
FCM
Дата 11.6.2010, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.3.2009

Репутация: 8
Всего: 9



Чтобы использовать dll в другом проекте, необходимо обеспечить доступность 
1) .lib-файла на этапе компоновки.
2) .dll-файла на этапе выполнения (например, поместить его в папку с использующим его .exe-файлом)

Это сообщение отредактировал(а) FCM - 11.6.2010, 20:05
PM MAIL   Вверх
VVV13
Дата 30.5.2013, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 30.5.2013

Репутация: нет
Всего: нет



аналогичная проблема (compaq 6.5, пакет Multiple Precision Computation, David M. Smith, f90-библиотека FM) 
FM-пакет состоит из 3-х файлов (в порядке ссылок друг на друга):
FMSAVE.f95
FM.f95 
FMZM90.f95
я положил их в этом порядке в один файл и в compaq 6.5 сделал две версии (файлы) библиотеки - *.dll и *.lib. 
Положил обе версии в директорию Debug и туда, где исходник программы. 
Компиляция тест-программы ни для той ни для другой версии не идет: "Error in opening the Library module file." 
Если положить все mod-модули в директорию Debug или сложить все сорсы библиотеки в правильном порядке  
в один файл с тест-программой, то все нормально транслируется и считается. 
Как правильно сделать библиотеку?   
Библиотека довольно большая и долго транслируется.
Спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Fortran | Следующая тема »


 




[ Время генерации скрипта: 0.0967 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.