View previous topic :: View next topic |
Author |
Message |
DietmarSiepmann
Joined: 03 Jun 2013 Posts: 279
|
Posted: Wed Dec 12, 2018 5:03 pm Post subject: |
|
|
Paul,
in the INTEL 64 bit compile environment we link a big GUI application with respect to Salford's clearwin64.dll from version 7.10 and use the corresponding clearwin64.lib for the link command (xilink).
However, this results in an error because symbol RANDOM is multiply defined:
Code: |
libifcoremt.lib(for_m_irand.obj) : error LNK2005: RANDOM already defined in clearwin64.lib(clearwin64.dll)
..\p64_intel_debug\p0918w.exe : fatal error LNK1169: one or more multiply defined symbols found
|
Why is RANDOM defined in clearwin64.lib/clearwin64.dll? It is supplied by INTEL's ifort environment.
If we disable the RANDOM calls in our source base and link again, then the binary is created successfully.
Regards,
Dietmar |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7931 Location: Salford, UK
|
Posted: Thu Dec 13, 2018 8:48 am Post subject: |
|
|
Dietmar
Some linkers (such as SLINK) have a switch to allow multiple instances. Then it will use one or the other. The Intel linker might have this switch.
The FTN95 RANDOM takes a single DOUBLE PRECISION argument and you will get the same result of you use RANDOM$ instead. |
|
Back to top |
|
|
DietmarSiepmann
Joined: 03 Jun 2013 Posts: 279
|
Posted: Thu Dec 13, 2018 9:28 am Post subject: |
|
|
Paul,
I have already tried a switch allowing multiple instances for INTEL linker xilink (the switcch is /FORCE:MULTIPLE) and it worked although this is not the preferred solution I think.
Instead I substituted function RANDOM by function RAND which works analogously (if you add module IFPORT via a use statement).
Thanks for your informations
Dietmar |
|
Back to top |
|
|
|