I am having trouble with building a converted DVF project.
The problem is an external reference not being found.
When I click on the main program file in Solution explorer and select 'Compile' from the options, the only out put I see is a very short listing:
1>------ Build started: Project: MULTILAYER, Configuration: Debug Win32 ------ 1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(238,5): warning MSB8018: No outputs specified for item "MULTILAYER.f90". Its custom build command will be skipped. 1>Done building project "MULTILAYER.vcxproj". ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
So all I know is that there are no apparent Fortran programming errors. Big deal!
What I want is the output for the linker which should list the entry points within the program or subprogram that is being compiled, so that they can be properly found by the linker either in a generated list of links within the program and its sub-programs, or within a list of compiled libraries that must be searched.
How can I get this? which option is available?
thanks in advanced
You have two options. The first is to ask the compiler for a listing file - this will include a cross reference of all symbols used in the source. But that's a per-source-file option. The second is to ask the linker for a link map. By default it will list all of the global symbols and where they came from. In addition, you can use the "Show Progress" linker option to show, for each object file processed, which external references it contained and which libraries were searched.
I suspect that the failure to even attempt compiling one source file (MULTILAYER.f90), possibly because of an error in the project build rules, is causing the "missing external" error at link time.
A cross-reference listing may well show the external symbol defined in the source file that I just named, but you may have to look elsewhere to ascertain the reasons for its not getting compiled.