- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I need to build a custom external funciton .DLL in fortran 90 format for Anysis:
It worked for xp 32 with compaq visual fortran. Now with the system migrated to 64bit, the Ansys is all new 64 system too.
Firt is that IT can not make the Visual Studio 2005 work for win7. So i tried to use intel visual fortran 10.0 intel(R) 64 command line ifort to build the dll file: it completes compilation without errors.
However when i start the main program there is a 0cx0000007b error. I understand it is a /32/64 bit issue. Can you provide a way to debug this?
Thanks.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Johannes wrote:Hi John,
as Steve said, some more information would be helpful.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
mecej4 wrote:This is what i think i am getting into. The question is how I can debug this?In your second post in this thread, there is mention of "DllMainCRTStartup@12". That is a telltale sign that you are (perhaps unknowingly) mixing up 32-bit and 64-bit objects and DLLs. With few exceptions, a 64 bit application will load 64-bit DLLs, and similarly for the 32 bit world.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Steve Lionel (Intel) wrote:Steve, A quick check on installed programs by IT: Microsoft visual C++ 2005 redistributable Microsoft visual C++ 2005 redistributable(X64) Microsoft visual C++ 2008 redistributable X64 Microsoft visual C++ 2008 redistributable X86 Microsoft visual C++ 2010 redistributable X86....!Ok. The link error is because something is requiring or defining a STDCALL name for the DLL entry point, but x64 doesn't use that. You may be linking to the wrong libraries.
The 007b error is probably from a DLL mismatch - you may not have the proper MSVC shared assemblies installed. You might find that analyzing your DLL with DependencyWalker is helpful.
The message you get about VS2005 on Windows 7 is correct. It will work if you follow the instructions.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Johannes wroteObject 32/64-bit mismatch, can this happen, if there is only one file (user_define.f90)?
[/quote wrote:
Certainly, since the .OBJ file that results from compiling that single file has almost always to be linked with the Fortran and C runtime libraries to produce an EXE or DLL. All the objects being linked must be of the same bit-ness.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Steve Lionel (Intel) wrote:I used the walker to put all the Library on the search route, however there is still one warning message: Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module. The libs involved are: c:\windows\system32\IEFRAME.DLL c:\windows\system32\SHLWAPI.DLLYou need to run Dependency Walker (http://dependencywalker.com/) on the DLL to see what it needs.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Steve Lionel (Intel) wrote:I don't remember i copied these (looks like have been there together with tens of other dlls). I now located the x64 version from other Ansys folders and replaced: the errors are gone as attached. or: Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module. I still have 07b error though.Interesting. According to the DWI, the copies of LIBIFCOREMD.DLL and LIBMMD.DLL in the c:\program files\ansys inc\v140\aqwa\bin\winx64\ folder are in fact x86 DLLs, where your DLL is x64. That could cause a problem. Did you copy those DLLs there?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
TimP (Intel) wrote:absolutely possible, I 'll get touch with Ansys, the turnaround time is expected Loooooong.I don't see how any recent Ansys could have worked with CVF.
If Ansys is linked in the usual way with /MT, conflicts would arise in attempting to link against the redistributable .dlls.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page