Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Compaq 6.5 : Как сделать и подключить библиотеку ? Compaq не видит dll- и lib-библиотеки 
:(
    Опции темы
VVV13
Дата 30.5.2013, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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   Вверх
FCM
Дата 2.6.2013, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Так... счас попробуем вспомнить, что к чему...
Если исходники библиотеки содержат модули, то при компиляции помимо прочего должны создаваться .mod-файлы. Таковые должны быть доступны компилятору при компиляции приложений, использующих библиотеку. 
В настройках Visual Studio можно указать какие директории автоматически просматриваются 
1) фортран-компилятором на предмет включаемых (include) тестовых файлов и модулей
2) компоновщиком на предмет lib-файлов.
Т.е., если речь идет о статической библиотеке - строишь ее в отдельном проекте, mod и lib-файлы кидаешь  в директории, назначенные для вышеуказанного автоматического просмотра.  
Если в библиотечный модуль (или в программу, использующую библиотеку) кинуть директиву !DEC$OBJCOMMENT LIB: "libname" с именем библиотеки, то возможно указанных действий будет достаточно. Если без этой чудесной директивы, то возможно нужно в свойствах проекта указать полный путь к ней.
В случае динамической библиотеки с модулем, насколько помню, также создаются файлы mod, lib и файл dll. В случае так называемого неявного связывания DLL, насколько помню, для первых двух должно быть справедливо все, что касается и статических библиотек, а послдений должен быть доступен на этапе выполнения - т.е. его, например, можно кинуть к exe-файлу. 

Это сообщение отредактировал(а) FCM - 3.6.2013, 10:11
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Fortran | Следующая тема »


 




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


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

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