Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
61 Views

unresolved external symbol ISO_C_BINDING_mp_C_F_PROCPOINTER

I'm getting a unresolved external symbol and I don't know why.  I've listed the library it is defined in explicitly in my list of libraries for linking.  The same code links fine even without specifying the ifmodintr.lib in PSXE2016.  But in PSXE2011 it isn't finding it.  It doesn't complain that it can't find the library so I think it must be searching it, but not finding it?  Here is my output from the compile/link below.  Thanks in advance!


Microsoft (R) Incremental Linker Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.

-out:userlogic.dll
-incremental:no
-dll
-implib:userlogic.lib
-nodefaultlib:libiompprof5mt.lib
-nodefaultlib:libiompprof5md.lib
-defaultlib:libiomp5md.lib
-nodefaultlib:vcomp.lib
-nodefaultlib:vcompd.lib
/LIBPATH:C:\PROGRA~1\CULLIM~1\SINDAF~1\lib
proces.lib
ProcessModulesDllOld.lib
ProcessorCGlobalsOld.lib
amgcg.lib
utility.lib
tdsubproc.lib
statwin.lib
sfmatlab.lib
SaveSetWriter.lib
multicalc.lib
LVCompartment.lib
ifmodintr.lib
/STACK:100000000
/MAP
/MANIFEST
/LIBPATH:C:\PROGRA~1\CULLIM~1\SINDAF~1\lib
proces.lib
ProcessModulesDllOld.lib
ProcessorCGlobalsOld.lib
amgcg.lib
utility.lib
tdsubproc.lib
statwin.lib
sfmatlab.lib
SaveSetWriter.lib
multicalc.lib
LVCompartment.lib
ifmodintr.lib
/STACK:100000000
/MAP
/MANIFEST
userlogic.obj
   Creating library userlogic.lib and object userlogic.exp
proces.lib(matsin.obj) : warning LNK4217: locally defined symbol samg_set_nptmn imported in function matsin
proces.lib(dealoc.obj) : warning LNK4217: locally defined symbol samg_refresh imported in function dealoc
proces.lib(AddFluid.obj) : error LNK2019: unresolved external symbol ISO_C_BINDING_mp_C_F_PROCPOINTER referenced in function addfluid
userlogic.dll : fatal error LNK1120: 1 unresolved externals
Intel(R) Visual Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 12.1.2.278 Build 20111128
Copyright (C) 1985-2011 Intel Corporation.  All rights reserved.
ifort userlogic.for /dll /Qopenmp /fpe:0 /real_size:64 /integer_size:64 /names:lowercase /iface:cref /I:C:\PROGRA~1\CULLIM~1\SINDAF~1\mod /MD /iface:mixed_str_len_arg /include:C:\PROGRA~1\CULLIM~1\SINDAF~1\lib /assume:byterecl /extend_source:132 /O3 /traceback /INCREMENTAL:NO

 

0 Kudos
5 Replies
Highlighted
61 Views

I have a vague recollection that we had a bug in that version relating to this. I know that we moved the globals for ISO_C_BINDING to the new ifmodintr.lib in some subsequent version - I'm pretty sure it wasn't in 12.1. I won't be able to investigate further until Wednesday.

0 Kudos
Highlighted
Beginner
61 Views

Any update?

0 Kudos
Highlighted
61 Views

Sorry for missing this earlier.

The problem I remember was in the 10.1 compiler, before either of the compilers you are using. The symbols from ISO_C_BINDING were not being exported from the DLL Fortran support library - that was fixed in a 10.1 update.

Then in version 11.1 we added ifmodintr.lib to contain all of the "module intrinsic" global symbols. I see it listed in the set of libraries being searched in your build output. It would be helpful to have you turn on the Linker property "Show progress messages > Show all progress messages" (/verbose - this has to follow /link if you do it on the command line) and then attach a ZIP of the buildlog.htm. I want to see if the correct ifmodintr.lib is being searched (correct version and platform). Did you perhaps copy a 32-bit ifmodintr.lib into a 64-bit build area?

0 Kudos
Highlighted
Beginner
61 Views

I can only do this on a computer in my office, and I'm working offsite until the 25th.  I'll check it then and report back. 

Thanks!

Dave

0 Kudos
Highlighted
Beginner
61 Views

Just getting back to this now (sorry).  Looks like this function isn't in the ifmodintr.lib in update 9.  Appears that only PRIVATE versions are available. But it is in update 10.

0 Kudos