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

Link failure on omp_get_wtime

dajum
Novice
1,462 Views

Can you explain why a japanese user gets the following error trying to link an executable.

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

-out:astap.exe -subsystem:console -incremental:no /LIBPATH:C:\PROGRA~1\CULLIM~1\SINDAF~1\lib C:\PROGRA~1\CULLIM~1\SINDAF~1\lib\proces.lib C:\PROGRA~1\CULLIM~1\SINDAF~1\lib\utility.lib C:\PROGRA~1\CULLIM~1\SINDAF~1\lib\tdsubproc.lib C:\PROGRA~1\CULLIM~1\SINDAF~1\lib\statwin.lib C:\PROGRA~1\CULLIM~1\SINDAF~1\lib\sfmatlab.lib C:\PROGRA~1\CULLIM~1\SINDAF~1\lib\isight.lib /STACK:100000000 /MAP /MANIFEST /NODEFAULTLIB:msvcrt.lib /LIBPATH:C:\PROGRA~1\CULLIM~1\SINDAF~1\lib C:\PROGRA~1\CULLIM~1\SINDAF~1\lib\proces.lib C:\PROGRA~1\CULLIM~1\SINDAF~1\lib\utility.lib C:\PROGRA~1\CULLIM~1\SINDAF~1\lib\tdsubproc.lib C:\PROGRA~1\CULLIM~1\SINDAF~1\lib\statwin.lib C:\PROGRA~1\CULLIM~1\SINDAF~1\lib\sfmatlab.lib C:\PROGRA~1\CULLIM~1\SINDAF~1\lib\isight.lib /STACK:100000000 /MAP /MANIFEST /NODEFAULTLIB:msvcrt.lib astap.obj proces.lib(timer.obj) : error LNK2019: –¢‰ðŒˆ‚ÌŠO•”ƒVƒ“ƒ{ƒ‹ _omp_get_wtime ‚ªŠÖ” _start_ti ‚ÅŽQÆ‚³‚ê‚Ü‚µ‚½B astap.exe : fatal error LNK1120: ŠO•”ŽQÆ 1 ‚ª–¢‰ðŒˆ‚Å‚·B Intel(R) Visual Fortran Compiler Professional for applications running on IA-32, Version 11.1    Build 20100806 Package ID: w_cprof_p_11.1.067 Copyright (C) 1985-2010 Intel Corporation.  All rights reserved. ifort astap.for /fpe:0 /integer_size:64 /real_size:64 /names:lowercase /iface:cref /module: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

 Using the exact same libraries and build switches I have many users able to link this just fine.  Is there some reason some users can find routines in the OMP libraries and others can't?  Is there some compiler installation differences that could cause this?

Thanks

 

Dave

 

0 Kudos
3 Replies
TimP
Honored Contributor III
1,462 Views
The switch /Qopenmp is normally used in the link step to add the OpenMP .dll to the link. If you are using CL or link directly, rather than ifort to drive the link, you must specify that .dll.
0 Kudos
dajum
Novice
1,462 Views
We are using IFORT directly with all the arguments in a file. But that doesn't explain why it links when we don't specify /Qopenmp. Dave
0 Kudos
Steven_L_Intel1
Employee
1,462 Views
Have them do a build with the project property Linker > General > Progress > Show some progress messages and then post the output. Something needs to pull in libiomp5md.lib to define that reference. You may have something referencing that library indirectly.
0 Kudos
Reply