Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Quickwin with modeless dialogs

peterkramer
Beginner
768 Views

Hi,
I am trying to convert a Quickwin application with modeless dialogs from CVF 6.6 to IVF 9.1, but no success.
The linker produces the following error messages (in German, meaning unresolved externals):

1>Linking...
1>XFLOGM.obj : error LNK2019: Verweis auf nicht aufgelstes externes Symbol "_DLGWNDPROC" in Funktion "_XFLOGM_mp_DLGMODELESS".
1>XFLOGM.obj : error LNK2019: Verweis auf nicht aufgelstes externes Symbol "_DLGCREATEFORTDIALOGCLASS" in Funktion "_XFLOGM_mp_DLGMODELESS".

With CVF I used a library dflogm.lib from the year 1998 as linker input. I tried several variations of (dflogm.lib - iflogm.lib) , (dfwin - ifwin),
but it didn't help.
I hope somebody can help me.
Thank you in advance
Peter Kramer

0 Kudos
2 Replies
Steven_L_Intel1
Employee
768 Views
You're using Jugoslav Dujic's xeffort library. You should not have any explicit references to the .lib files you mention, but you may need one for xeffort's library. I'm sure Jugoslav will chime in with advice here.
0 Kudos
Jugoslav_Dujic
Valued Contributor II
768 Views
This seems to be the "old" Xflogm (1.0, forked from the original Compaq's Dflogm). My (superficial) test shows that it would work under IVF with the following changes:
  • Change to !DEC$ OBJCOMMENT lib: "iflogm.lib" around line 630 in XFLOGM.f90
  • Set the project properties in FortranExternal Procedures from
    • "Calling convention" from "CVF" to "Default"
    • "String length argument passing" to "after all arguments"
  • Delete all *flogm.mod and *flogm.lib from your project folder and subfolders, as well as any mention of dflogm.lib from your linker settings.
I only superficially verified that it works under IVF 9.1 (i.e, links and runs a simple example).

In any case, I recommend that you download and install full Xeffort, which also contains the new version of Xflogm. In that case, also apply the steps 2) and 3) above, add, "Xeffort.lib" to the library list (Project properties/Linker/Input/Additional dependencies) and remove the old Xflogm.f90 from your project. Your code should work as-is, perhaps requiring minor changes listed in Xeffort Help/XFLOGM 2.0/Known incompatibilities page.

Hope this helps,
0 Kudos
Reply