I can’t get a very simple project to link in Visual Studio. I keep getting unresolved external symbol multiply referenced in function _main. What am I missing or doing wrong. I can supply the sample project if need be. Thanks.
simple.c
#include <stdio.h>
extern void multiply_();
int main(int argc, const char* argv[])
{
double a = 2;
double b = 2;
double c = 0;
multiply_(&a, &b, &c);
printf("%f * %f = %f", a, b, c);
return 0;
}
compile c project exe
/I"c:\Users\developer\Documents\Visual Studio 2010\Projects\RRT\cutils\" /ZI /nologo /W3 /WX- /Od /Oy- /D "_MBCS" /Gm /EHsc /RTC1 /MTd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fp"c:\Users\developer\Documents\Visual Studio 2010\Projects\RRT\prep_pfps_v30\Win32\Debug\prep_pfps_v30.pch" /Fa"c:\Users\developer\Documents\Visual Studio 2010\Projects\RRT\prep_pfps_v30\Win32\Debug\" /Fo"c:\Users\developer\Documents\Visual Studio 2010\Projects\RRT\prep_pfps_v30\Win32\Debug\" /Fd"c:\Users\developer\Documents\Visual Studio 2010\Projects\RRT\prep_pfps_v30\Win32\Debug\vc100.pdb" /Gd /analyze- /errorReport:queue
link c project exe
/OUT:"c:\Users\developer\Documents\Visual Studio 2010\Projects\RRT\Distribution\Win32\Debug\RRT\Programs\utils\prep_pfps_v30.exe" /NOLOGO /LIBPATH:"C:\Program Files\PGI\win32\11.3\lib\" /LIBPATH:"c:\Users\developer\Documents\Visual Studio 2010\Projects\RRT\Distribution\Win32\Debug\RRT\Programs\utils\" "futils.lib" "libpgmp.lib" "pg.lib" "libpgf90.lib" "libpgf90_rpm1.lib" "libpgf902.lib" "libpgf90rtl.lib" "libpgftnrtl.lib" "libpgc.lib" "libnspgc.lib" "libcmt.lib" /MANIFEST /ManifestFile:"c:\Users\developer\Documents\Visual Studio 2010\Projects\RRT\prep_pfps_v30\Win32\Debug\prep_pfps_v30.exe.intermediate.manifest" /ALLOWISOLATION /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"c:\Users\developer\Documents\Visual Studio 2010\Projects\RRT\Distribution\Win32\Debug\RRT\Programs\utils\prep_pfps_v30.pdb" /PGD:"c:\Users\developer\Documents\Visual Studio 2010\Projects\RRT\Distribution\Win32\Debug\RRT\Programs\utils\prep_pfps_v30.pgd" /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 /ERRORREPORT:QUEUE
futils.f
!--------------------------------MULTIPLY-------------------------------
SUBROUTINE MULTIPLY (RA, RB RC)
DOUBLE PRECISION RA, RB, RC
RC = RA * RB
RETURN
END
compile static fortran library project
-g -Bstatic -Mbackslash -I"c:\program files\pgi\win32\11.3\include" -I"C:\Program Files\PGI\Microsoft Open Tools 10\include" -I"C:\Program Files\PGI\Microsoft Open Tools 10\PlatformSDK\include" -Minform=warn
link static fotran library project
/OUT:"c:\Users\developer\Documents\Visual Studio 2010\Projects\RRT\Distribution\Win32\Debug\RRT\Programs\utils\futils.lib"