Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Работа с Intel Fortran через Visual Studio 2003 и не только

Автор: NihtsVoron
Дата сообщения: 23.03.2009 17:28
Явно вызываю
use imsl

получаю ошибку
Ошибка    1     Error: Error in opening the compiled module file. Check INCLUDE paths. [IMSL]    C:\Console1\Console1\Source1.F90    7    

пути к библиотеке прописаны, системные переменные, насколько я могу судить,тоже обьявлены. в настройках студии для компилятора фортрана везде указаны пути к библиотеке. Не могу понять, почему возникает ошибка.
Автор: Igorr
Дата сообщения: 23.03.2009 17:45
Еще раз:
1) библиотека - не вызывается;
2) USE используется для модуля (*.mod), в котором объявлена/описана вызываемая процедура.
Автор: NihtsVoron
Дата сообщения: 23.03.2009 17:55
Простите великодушно тогда за тупой вопрос, но как тогда вызвать необходимые мне процедуры из библиотеки? в CVF это было как-то проще....Как тогда правильно подключать функции из этой библиотеки?
Автор: akaGM
Дата сообщения: 23.03.2009 18:09
NihtsVoron

Цитата:
Явно вызываю
use imsl

это не вызов, а директива компилятору, что модуль imsl.mod может будет использован, а может -- нет,
и если будет, то как (интерфейс) звать всё это барахло...

Цитата:
[IMSL] C:\Console1\Console1\Source1.F90 7

что там стоит, use? include?
показывай тогда код, хотя бы до этой 7-ой строки...
Автор: Igorr
Дата сообщения: 23.03.2009 18:15
Например, вы хотите решить систему нелинейных уравнений с помощью NEQNJ. Вставляете в свою соответствующую процедуру:
1) USE NEQNJ_INT
2) CALL D_NEQNJ(..)
Если все пути, как вы говорите, прописаны - проблем нет.
Автор: akaGM
Дата сообщения: 23.03.2009 18:26
NihtsVoron

Цитата:
Error: Error in opening the compiled module file. Check INCLUDE paths.

ну правильно...
.mod обычно в инклудах лежат...
поэтому к %INCLUDE% надо добавить IMSL/INCLUDE или где там у тебя это лежит...

и помимо "прописывания путей", линкеру надо явно указать библиотеки:
например, imsl.lib или как они там называются...
Автор: NihtsVoron
Дата сообщения: 23.03.2009 19:05
Че-то че не делаю, ниче не получается.....пробовал скомпилировать примеры из imsl библиотеки, не получается.
Ошибка    1     Error: Error in opening the compiled module file. Check INCLUDE paths. [RAND_INT]    D:\imslmpi.f90    1    

наверное я что-то делаю не так, но я не понимаю что и где еще указать, если кому не сложно, то просьба обьяснить более детально и со всеми настройками проекта. буду благодарен, заранее спасибо.
Автор: akaGM
Дата сообщения: 23.03.2009 19:13
NihtsVoron
в проекте, в инклудах что написано?
допиши туда пути где лежат твои imsl'овские *.mod и *.f90
Автор: Igorr
Дата сообщения: 23.03.2009 19:24
Попробуйте ещё:
Properties->...Property Pages->Fortran->General->Additional Include Directories
и/или
Properties->...Property Pages->Linker->General->Additional Library Directories
Автор: Vskazka
Дата сообщения: 23.03.2009 19:28
NihtsVoron
Когда ставится IMSL, ставится и хелпы. Так что там есть все.
Например, когда я тестировал эту библиотеку, то в начале программы ставил для статической библиотеки

include 'link_fnl_static.h'

! - здесь разбор полетов идет, какие библиотеки нужны в каком случае. так проще, чем разбираться - какие точно !библиотеки нужны.


use lin_sol_gen_int !для решения системы линейных уравнений и тп
use rand_gen_int ! для генерации случайных чисел
use error_option_packet ! соощения о ошибках

! Какие для каких программ - есть в хелпах



Кроме этого, прописывал в настройка проекта пасы на соответствующие места.
Читайте хелпы - там все подробнейшем образом описано, что делать. Правда по аглицки.
Автор: NihtsVoron
Дата сообщения: 23.03.2009 20:01
Спасибо, вроде получилось. А обязательно вот так полностью путь прописывать? В CVF как-то полегче с этим было....Не подскажете как сейчас функция для подсчета показательной интегральной функции завется? Раньше она была DE1, может кто знает в каком она модуле?

Добавлено:
Да я разумеется читал, прежде чем сюда обратится. просто там насколько я понял немного не так описано подключение библиотеки, как там описано, у меня не получилось, хотя, не спорю, возможно это я не правильно понял
Автор: Igorr
Дата сообщения: 23.03.2009 20:09

Цитата:
показательной интегральной функции

SFUN.pdf: Chapter 3: Exponential Integrals and Related Functions
USE E1_INT
Автор: NihtsVoron
Дата сообщения: 23.03.2009 20:25
это я читал,но при обращении выдает (GNOTDIAG моя процедура)
e=DE1(s)

Ошибка    1     error LNK2019: ссылка на неразрешенный внешний символ _DE1 в функции _GNOTDIAG    Source1.obj    

при попытке запуса примеров компилируется все нормально, но при запуске выдается, что неразрешенные внешние символы. я понимаю, что достал уже, но правда нужна помощь, спасибо.

Автор: Igorr
Дата сообщения: 23.03.2009 21:15

Цитата:
e=DE1(s)
--->> e=D_E1(s)

Добавлено:
FORTRAN 90 Interface:
e=DE1(s) --->> e=D_E1(s)
Автор: akaGM
Дата сообщения: 23.03.2009 21:19
NihtsVoron
RTFM!
E1() или D_E1()
Автор: NihtsVoron
Дата сообщения: 24.03.2009 04:08
Даже при таком использовании как вы говорите, все равно та же ошибка получается.
Автор: Igorr
Дата сообщения: 24.03.2009 07:33
Это скорее всего говорит о том, что не подключена соответствующая dll, содержащая исполняемый код вызываемой процедуры (см. предыдущую стр.).
Автор: AZA_N
Дата сообщения: 24.03.2009 11:35
NihtsVoron
Tools->Options->Intel(R)VisualFortran>Compilers:
в libraries добывить C:\Program Files\VNI\imsl\fnl600\IA32\lib (исправить путь на тот, куда у Вас установлен imsl6), в include добавить C:\Program Files\VNI\imsl\fnl600\IA32\include\static
В настройках проекта configuration properties->Linker->CommandLine->AdditionalOptions добавить imsl.lib imsl_dll.lib libguide40.lib

С этими настройками example из SFUN.pdf (стр54) работает и с S_E1, и с D_E1 (не забудьте x,value для D_E1 real*8)
Автор: Sihaia_Atreides
Дата сообщения: 01.07.2009 15:52
Здаствуйте господа.

Замучалась с дебагингом ddl написанного в Compaq Visual Fortran 6 т.к. используется он в коде написанном в Visual Studio 2008. Попробовала перекомпилить dll в Visual Studio и возникли проблемы с подключением библиотеки IMSL.

Не могли бы вы подсказать, как это делается в VIsual Studio 2008?
Автор: AZA_N
Дата сообщения: 01.07.2009 17:37
Sihaia_Atreides, в посте над Вашим как раз о подключении IMSL к VS2008+IVF и написано. Только IMSL надо брать не из CVF, а для IFV.
Автор: Sihaia_Atreides
Дата сообщения: 02.07.2009 09:31
Как-то не обратила внимание на сообщения выше. Пыталась подключить так, но брала из CVF и не добовляля либы в линкер ... Большое спасибо!
Автор: Tenzor13
Дата сообщения: 07.07.2009 11:00
Всем добрый день!

Я использую Intel(R) Visual Fortran Compiler 11.0.072 + VS2005

Также я скачал IMSL FNL 6.0 for Intel(R) Fortran Compiler 10.0 - IA-32 и нашел в сети "лицензионный файл" license.dat.

Как его прицепить к IMSL?

Сейчас когда я следую инструкциям AZA_N делаю пример (из SFUN.pdf (стр54)) то вижу результат E1(1.300)=0.135, но до него вылазит окно с надписью:



---------------------------
FLEXible License Manager
---------------------------
Error overriding LM_LICENSE_FILE: Cannot find license file.
The license files (or license server system network addresses) attempted are
listed below. Use LM_LICENSE_FILE to use a different license file,
or contact your software provider for a license file.
License path: C:\flexlm\license.dat;
FLEXnet Licensing error:-1,212. System Error: 2 ""
For further information, refer to the FLEXnet Licensing End User Guide,
available at "www.macrovision.com".
---------------------------
OK
---------------------------


Как от этого избавиться?

Всем спасибо!
Автор: AZA_N
Дата сообщения: 07.07.2009 13:27
Tenzor13, поместите файл лицензии в c:\Program Files\VNI\license\ Учтите, что будут проблемы с переносимостью программ на другой РС, где лицензия IMSL не установлена (как с этим бороться обсуждалось в врезнике), а также могут возникнуть проблемы при переносе exe на РС без VS - см. выше в этой теме. На будущее - с вопросами про лицензии надо в Варезник
Автор: Tenzor13
Дата сообщения: 07.07.2009 14:22
AZA_N спасибо!
но теперь при каждом запуске мне предлагают указать путь к лицензионному файлу - как от этого избавиться? - где прописать путь? - нужно ли менять файл VNI_LICENSE_FILE

Автор: AZA_N
Дата сообщения: 07.07.2009 15:40
Tenzor13, ответила тут - http://forum.ru-board.com/topic.cgi?forum=35&topic=4530&start=1220#16
Автор: Tenzor13
Дата сообщения: 07.07.2009 16:15
AZA_N
Спасибо - помогло!
Автор: akuaku
Дата сообщения: 07.07.2009 23:32
Можно ли показывать массивы в виде графиков при работе в дебаггере Visual Studio.

В Compaq Fortrane это умел делать Compaq Array Visualizer.

Бывают ли встречи участников данной темы в Москве для обмена опытом работы на современном фортране и другим новым возможностям.
Автор: Vskazka
Дата сообщения: 08.07.2009 09:35
akuaku
Есть такая прилада на сайте Интела
Intel® Array Visualizer 3.0 for Windows*

Цитата:

The Intel Array Visualizer can be used in the following ways:
1. as a Windows* program (Intel® Array Viewer) to view and edit data files
2. as a set of library routines (for C or Fortran) to add visualization capabilities to
console programs
3. as a set of ActiveX* controls (AvGraph, AvGrid, AvTree, etc.) to add
visualization capabilities to GUI applications
4. as a set of COM components (AV Object Model) that can be used with compiled
applications or script code
5. as a method to interactively view array data while debugging Intel Fortran under
Microsoft Visual Studio .NET*

Как будет работать с последними версиями компилятора, VS2008 и тд. не знаю.
Забрать можно на офсайте интела.

Автор: AZA_N
Дата сообщения: 08.07.2009 10:05
akuaku
Чтобы Intel Array Visualizer 3.3 в отладчике стал активным (на WinXPx64SP2+IE8+VS2008SP1+IVF11(последней версии), пришлось сначала поставить IVF9.1(только компилятор 32бит), затем AV(32bit), затем IVF11(полностью). Иначе у меня не получилось добиться корректной работы AV (см. в текстовом поиске на слова "сухой остаток", там я об этом писала для IVF10)

Если у кого-нибудь получится заставить работать AV (просматривать массивы в отладчике) менее экзотическим способом - поделитесь, пожалуйста, опытом.
Автор: Vskazka
Дата сообщения: 08.07.2009 11:46
AZA_N
Здесь описано как делать без таких плясок.
_http://software.intel.com/en-us/forums/intel-array-visualizer/topic/65273/
Если дойдут руки, поставлю и посмотрю.

Страницы: 123456789101112131415161718192021

Предыдущая тема: Относительное перемещение мыши


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.