Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

INTEL 8.0 and quick win

Intel_C_Intel
Employee
1,447 Views
I've managed to comple a large project successfully, following the porting from CVF 6 document,, replacing dflib calls, , using ifqwin, ifcore, ifport, etc. However, the linker indicates many, if not all all refererences to QWIN modules as unresolved. For instance:

MAKEDATA.obj : error LNK2001: unresolved external symbol _IFLOGM_mp_DLGINIT@8

and

SET.obj : error LNK2001: unresolved external symbol __QWINMsgBox@12

Further, the suggestion to add libPEPCF90.lib to the linker input causes the linker to stop because it can't find it. Also, adding /4Yportlib on the comannd line is not reconized as a valid option. I hope this is some simple ignorance of somehting on my part; I can't find anyhting in the Docs that helps.

What can try?

Thanks!

0 Kudos
14 Replies
Steven_L_Intel1
Employee
1,447 Views
Are you building from the command line or VS.NET? It sounds as if the QuickWin libraries are not being linked in. Where did you see a reference to libPEPCF90.lib? That is a 7.1 library and is not used with 8.0.
From the command line, use /libs:qwin
0 Kudos
Intel_C_Intel
Employee
1,447 Views
I'm using VS.net 2003. Yes, I can't seem to get any of the libraries to link in: not IFCORE, or IFPORT besides the QWIN. The reference to libPEPCF90.lib was in your document regarding 7.0, I see now. Is there an updated version?
0 Kudos
Steven_L_Intel1
Employee
1,447 Views
It could be that your project has the wrong type. Try creating a new project of Fortran QuickWin type.
The modules you use aren't relevant here.
0 Kudos
Intel_C_Intel
Employee
1,447 Views

I'm trying that, but get different problems, to wit:

QWin1 error LNK2005: __displaycursor already defined in ifconsol.lib(for_m_console.obj)

I just used my main program to keep it simple.

0 Kudos
Steven_L_Intel1
Employee
1,447 Views
If you have created a QuickWin project type, ifconsol.lib should not be referenced. Did you add that manually?
0 Kudos
Intel_C_Intel
Employee
1,447 Views
Nope;and my first test of a tiny main program worked fine as a qwin project. It's only when I added the complex main program that it bombed.. Could my installation be corrupt in some way?
0 Kudos
Steven_L_Intel1
Employee
1,447 Views
I don't know. At this point I suggest submitting a problem report to Intel Premier Support and attach a ZIP archive of your solution folder.
0 Kudos
Intel_C_Intel
Employee
1,447 Views
I've been experimenting, and find the latter problem occurs as soon as I include a call to MESSAGEBOXQQ:

IRET=MESSAGEBOXQQ('ONE'C,'TWO'C,0)

Does this indicate anything to you?

These are the USE statements:

USE IFQWIN

USE IFPORT

0 Kudos
Steven_L_Intel1
Employee
1,447 Views
That simply means you're referencing something in the QuickWin library.
0 Kudos
Intel_C_Intel
Employee
1,447 Views

Well, they are investigating it. In the meantime, I've partially gotten around it by stripping out a lot of the project and adding stuff back inincrementally.

However, I have to tell the linker to ignore ifconsol.lib.

Also, I can't use any option except the default for calling convention. This was a problem because I was unable to link in an assembler routine, even by specifying interface statements, that had entry points _STOP16@0 and _STOP0@0. I got around the problem by editing the object code to eliminate the @0s.

0 Kudos
Peter_Priestley
Beginner
1,447 Views

The LNK2001 errors are endemic for projects ported from CVF. There has been previous discussion in relation to COM server projects which currently won't build successfully.

Try changing the project setting /iface:CVF to /iface:default.

In my opinion /iface is not implemented properly as it crunches any specific calling convention defined in the INTERFACE block of a module, thus nothing in the Intel libraries will link with /iface:CVF. This has been reported to premier support (several weeks ago...).

0 Kudos
Lorri_M_Intel
Employee
1,447 Views
In my opinion /iface is not implemented properly as it crunches any specific calling convention defined in the INTERFACE block of a module, thus nothing in the Intel libraries will link with /iface:CVF.
Yes - you're right! The /iface:xx was overriding the ATTRIBUTES declaration. That has been fixed in our sources, and will be available in a future rolling update, although I can't give you a specific date for it.
-Lorri
0 Kudos
thomas4
Beginner
1,447 Views
I have just ported a CVF QWIN application to IVF together with VC++.NET 2003.

Result: everything is running - but I cannot draw lines: neither polylineqq nor polygon works, and linetoar crashes the debugger(!).

Do you have any idea / is there any similar observed behaviour?

Thomas Einfalt
0 Kudos
Steven_L_Intel1
Employee
1,447 Views
Please make sure that you have recompiled ALL Fortran sources - that you are not reusing objects or .lib files built with CVF. If you continue to have problems, please submit an example to Intel Premier Support.
0 Kudos
Reply