- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Have just sent an exe to a client. Program has been in use for c6 yrs but this is the first time it was compiled with 10.0.025. Program exe is initiated from a VB UI. Client is getting a "Can't find libguide.dll" message that we have never seen before (my program is just a single exe - no DLL's involved).
Possibly something to do with threading?
Program runs fine on my laptop that has IVF10 installed, also on my desktop that still only has IVF9.0.xxx on it.
Do I have to supply a runtime copy of the libguide DLL from now on, or is there some other problem?
David
Possibly something to do with threading?
Program runs fine on my laptop that has IVF10 installed, also on my desktop that still only has IVF9.0.xxx on it.
Do I have to supply a runtime copy of the libguide DLL from now on, or is there some other problem?
David
Link Copied
6 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The option -static-intel would link libguide statically. Otherwise, you would have to supply the .dll . You must have used some form of static link before.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Tim thanks
How do I specify that option from the IDE?
"Use Portability Library" under Properties > Fortran > Libraries ???
How do I specify that option from the IDE?
"Use Portability Library" under Properties > Fortran > Libraries ???
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
-i-static is not supported on Windows.
Yes, you are getting the reference to libguide.dll because you added threading. You can copy the DLL to the target system or, I think this works, add libguide.lib to the list of libraries referenced under Linker > Additional Dependencies.
Yes, you are getting the reference to libguide.dll because you added threading. You can copy the DLL to the target system or, I think this works, add libguide.lib to the list of libraries referenced under Linker > Additional Dependencies.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Steve
1. Client later advised that the program was searching for "libguide40.dll" rather than "libguide.dll". (Cannot actually find a "libguide.dll" file, anyway).
2. I sent "libguide40.dll" to the client who put it in his WINNT/system32 directory & that did fix the problem.
3. However I would much prefer to retain this as a self-contained exe as the main users are not tech savy & I would prefer not to add dll's to their systems.
4. Adding "libguide40.dll" under Linker > Additional Dependencies results in a compile error "fatal error LINK1136: invalid or corrupt file", and points to the "libguide40.dll" file (including full correct path). [Adding "libguide.dll" results in a different error - IIRC cannot find "libguide.dll"].
5. So ... any other way I can bind "libguide40.dll" into my exe?
###
6. Re "because you added threading": Me? I just did a "straight forward" upgrade to v10.0.025; ie. removed the VS link to IVF, removed v9.1.xx, then installed v10.0.025. AFAIK I made no changes in respect to threading.
7. I'm guessing that the install for 10.0.025 defaulted to the threading option because it is a Core 2 Duo chip in the laptop?
8. Yes I now see a screed of threading messages when I compile. Frankly, it seems to have made no difference at all to the run time (program has several timing calls in it, so I know the runtime accurately. Ones I checked so far have taken slightly longer than before, but that may just be system environment issues given that I usually have multiple windows open. Also, I have only tested on small jobs so far.
9. At this point the threading is actually a pain in the butt, as the compile time is significantly longer. Can the threading be turned off / on easily? If so where?
Thanks
David
1. Client later advised that the program was searching for "libguide40.dll" rather than "libguide.dll". (Cannot actually find a "libguide.dll" file, anyway).
2. I sent "libguide40.dll" to the client who put it in his WINNT/system32 directory & that did fix the problem.
3. However I would much prefer to retain this as a self-contained exe as the main users are not tech savy & I would prefer not to add dll's to their systems.
4. Adding "libguide40.dll" under Linker > Additional Dependencies results in a compile error "fatal error LINK1136: invalid or corrupt file", and points to the "libguide40.dll" file (including full correct path). [Adding "libguide.dll" results in a different error - IIRC cannot find "libguide.dll"].
5. So ... any other way I can bind "libguide40.dll" into my exe?
###
6. Re "because you added threading": Me? I just did a "straight forward" upgrade to v10.0.025; ie. removed the VS link to IVF, removed v9.1.xx, then installed v10.0.025. AFAIK I made no changes in respect to threading.
7. I'm guessing that the install for 10.0.025 defaulted to the threading option because it is a Core 2 Duo chip in the laptop?
8. Yes I now see a screed of threading messages when I compile. Frankly, it seems to have made no difference at all to the run time (program has several timing calls in it, so I know the runtime accurately. Ones I checked so far have taken slightly longer than before, but that may just be system environment issues given that I usually have multiple windows open. Also, I have only tested on small jobs so far.
9. At this point the threading is actually a pain in the butt, as the compile time is significantly longer. Can the threading be turned off / on easily? If so where?
Thanks
David
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Note that I said you can add libguide.lib to the linking - that's the static version. Yes, you must have specified an option for threading such as /Qopenmp or /parallel - otherwise you don't get this library.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apologies, I missed the .lib (rather than .dll) bit in the second libguide reference in your earlier post. Yes, it compiles OK with "libguide.lib" added under Linker > Additional Dependencies.
And yes, looks like I must have set /parallel. Have now disabled.
Will have to wait till tonight to check the exe's (parallel & non-parallel) on a system without the dll. Both work on my system (T7400) but the "/Qopenmp /Qparallel" option takes ~8% longer to run a small job.
Will not use /parallel for now anyway as I doubt if the users have duel core cpus.
Thanks
And yes, looks like I must have set /parallel. Have now disabled.
Will have to wait till tonight to check the exe's (parallel & non-parallel) on a system without the dll. Both work on my system (T7400) but the "/Qopenmp /Qparallel" option takes ~8% longer to run a small job.
Will not use /parallel for now anyway as I doubt if the users have duel core cpus.
Thanks

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