- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I am in the process of migrating a CVFconsoleapplication into IVF. Theapplication includes a MODULE which itselfCONTAINS several procedures. Some of these procedureshave compiler directives to be exported into a DLL; i.e. I am using the same MODULE to createconsole applicationas well as a DLL. When I compile the console application, itsuccessfully compiles but generates several warning messages in the follwing form:
Processor_OO warning LNK4217: locally defined symbol ConstructGrid imported in function _getg_
It appears that this type of a warning is generated for each procudure being called in my console application and that includes compiler directives for DLLEXPORT. It seems that the generated executable runs fine. However, I still want to make sure that this will not cause any problem in the future. CVF did not generate any messages with the same code. Can anybody help me on this? Is it possible to get rid of these warning messages without having to comment out the compiler directives in the MODULE?
Thanks for any help in advance,
Jon D
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The warning is harmless, and you must have an older version of CVF if you did not see that message.
Microsoft Fortran PowerStation, when you USEd a module that had a DLLEXPORT, implied a DLLIMPORT for the symbols. This was a nice feature which meant you didn't have to build modules twice, one for use when building the DLL and one for users of the DLL. DVF 5.0 did not have that feature (we didn't notice that it had been in FPS.)
Some years later we did discover this and it solved some other problems we had, so we implemented it, somewhere around 6.5, I think. The side effect is the warning you cite.
You can get rid of the warning by adding:
/ignore:4217
to the additional options property page for the linker (not the compiler.)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am facing the same problem here as well. I am using Intel Fortran 2013 SP1 and Linker 12.00.21005.1.
The warning message I have is "warning LNK4217: locally defined symbol cal_1d_quadrature imported in function CLS_COLLOCATION_mp_CAL_LINE_INT_PHI_PHI cls_collocation.obj"
I tried the suggested method by including "/ignore:4217" but it doesn't seem to work. I am not sure why, can you give me guidance? Thank you.
It still output "cls_collocation.obj : warning LNK4217: locally defined symbol cal_1d_quadrature imported in function MAIN__"
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If you are using this on the ifort command line, it has to be at the end of the line and preceded by /link. If you are using Visual Studio, you have to list 4217 under the Linker property pages.
Or you can ignore the warning, as it is harmless.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page