- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Dear Moderator,
I wonder if it is not good to keep both CVF and IVF on the same machine.
I found the reason why I can't succeed in compiling my previous RAND() issue. The same problem happens on another old version DRNNOR(a normal random generator in CVF6.5), its counterpart in IVF-imsl is RNNOR. Actually, when I compiling .NET, it can't find RNNOR, no matter other part is all right. But it can find DRNNOR!!!
So I doubt if the problem is coming from the configuration of the compiler, maybe the .NET+CVF can find the libraries of both CVF and IVF.
My options of'lib and include' on intel Fortran are lists as follows
$(IFORTInstallDir)Lib
C:Program FilesCommon FilesIntelShared Filesia32Lib
$(VCInstallDir)lib
$(VCInstallDir)atlmfclib
$(VCInstallDir)PlatformSDKlib
C:Program FilesMicrosoft Visual Studio .NET 2003SDKv1.1Lib
C:Program FilesMicrosoft Visual StudioVC98mfclib
C:Program FilesMicrosoft Visual StudioVC98lib
C:Program FilesIntelCompilerFortran9.0IA32Lib
C:Program FilesVNICTT6.0libIA32
$(IFORTInstallDir)Include
$(VCInstallDir)include
$(VCInstallDir)atlmfcinclude
$(VCInstallDir)PlatformSDKinclude
C:Program FilesMicrosoft Visual Studio .NET 2003SDKv1.1include
C:Program FilesMicrosoft Visual StudioVC98atlinclude
C:Program FilesMicrosoft Visual StudioVC98mfcinclude
C:Program FilesMicrosoft Visual StudioVC98include
C:Program FilesIntelCompilerFortran9.0IA32Include
C:Program FilesVNICTT6.0includeIA32
Apparently, there is no sign of including the CVF, so I wonder how can I prevent the CVF from working without uninstalling the CVF.
Regards,
James
By the way, I can say the style of this forum is terrific!
コピーされたリンク
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
It is not a problem to have both CVF and IVF on the same system. I do and it works fine.
You are using IMSL routines and you need to understand the new coding style introduced with IMSL that comes with Intel Visual Fortran. DRNNOR is what they call a "Fortran 77" routine - it can be called without any special declarations, as long as you know what all the arguments are and pass them all correctly.
RNNOR is provided the old way and also with a "Fortran 90" interface that you get if you add:
USE RNNOR_INT
Since I don't know the details of what was "not found" and what didn't find it (compiler or linker?), I can't comment further, but it certainly is not related to also having CVF installed. It is good that you checked the LIB and INCLUDE paths as mixing those can lead to problems.
Are you really using the old version 9.0? I strongly recommend updating to 9.1.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Hi, Steve
I just create a very simple example
PROGRAM Main
INCLUDE 'link_f90_static.h'
INCLUDE 'link_f90_dll.h'
USE IMSL_LIBRARIES
USE RNNOA_INT
IMPLICIT NONE
REAL(8) :: norm_vector(5)
INTEGER :: I
CALL RNNOA(norm_vector)
WRITE(*,*) (norm_vector(I), I=1,5)
STOP
END PROGRAM Main
And the compiler gives the following information.
------ Build started: Project: Test, Configuration: Debug|Win32 ------
Compiling with Intel Fortran 9.0...
ifort /nologo /Zi /Od /module:"Debug/" /object:"Debug/" /traceback /check:bounds /libs:static /dbglibs /c E:ProgramStudioPSSIntel-PSSTestTest.F90
Linking...
Link /OUT:"Debug/Test.exe" /INCREMENTAL:NO /NOLOGO /DEBUG /PDB:"Debug/Test.pdb" /SUBSYSTEM:CONSOLE Debug/Test.obj
IPO Error: unresolved : __imp__MPIPRIV
Referenced in Debug/Test.obj
Link: executing 'link'
Test.obj : error LNK2001:unsolved external symbol__imp__MPIPRIV
Debug/Test.exe : fatal error LNK1120: 1 unsolved external command
Test build failed.
Sorry for so much trouble.
Regards,
James
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
That's a compiler bug that was fixed quite a while ago (9.0.025). If you install the current 9.1 and rebuild, you won't see that.
If you are unable to use a newer compiler, a workaround is to add the following source to your project:
! Add this source to your project to correct the problem
! that, for a Debug build for certain projects using the
! IMSL Fortran libraries, the linker complains of an
! unresolved external symbol __imp__MPIPRIV
BLOCK DATA MPIPRIV_DEF
COMMON /MPIPRIV/ DUMMY
!DEC$ ATTRIBUTES ALIAS:"__imp__MPIPRIV" :: /MPIPRIV/
END BLOCK DATA MPIPRIV_DEF
