Hi WASY,
I have an existing 32 bit IFM module that works as intended on Windows XP 32 bit. Due to a recent upgrade in hardware I now need to compile the module for FEFLOW 64 bit using Windows 7 64 bit Enterprise. To do so I use Microsoft VC++ 2010 Professional. I have changed the neccesary settings/options/preferences so that the compiler is set to x64 in accordance with the pdf IFM example guide (which appears to very obsolete). I even created a new module in FEFLOW 64 bit so that I could simple copy-paste the code from the original module into the new source file (the part of the code written by me - not the code generated automatically by FEFLOW on module creation).
This however does not work.
I get the following errors when compiling:
1>------ Rebuild All started: Project: ifm, Configuration: Debug X64 ------
1>Build started 21-02-2011 11:43:47.
1>_PrepareForClean:
1> Deleting file "X64\Debug\ifm.lastbuildstate".
1>InitializeBuildStatus:
1> Creating "X64\Debug\ifm.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>ClCompile:
1> ifc_pch.c
1> ifc_alloc.c
1> ifc_amr.c
1> ifc_archive.c
1> ifc_assert.c
1> ifc_bc.c
1> ifc_bcc.c
1> ifc_bhe.c
1> ifc_budg.c
1> ifc_compat.c
1> ifc_content.c
1> ifc_ctrl.c
1> ifc_diagram.c
1> ifc_file.c
1> ifc_fracs.c
1> ifc_graphic.c
1> ifc_grp.c
1> ifc_mat.c
1> ifc_module.c
1> ifc_obs.c
1> ifc_power.c
1> ifc_profile.c
1> ifc_refdistr.c
1> ifc_regio.c
1> ifc_res.c
1> ifc_strings.c
1> ifc_time.c
1> ifc_topo.c
1> ifc_win32.c
1> ifc_xdk.c
1>Lib:
1> ifm.vcxproj -> C:\Users\Public\Documents\WASY FEFLOW 6.0\sdk\ifm\lib\vc10\X64\Debug\ifm.lib
1>FinalizeBuildStatus:
1> Deleting file "X64\Debug\ifm.unsuccessfulbuild".
1> Touching "X64\Debug\ifm.lastbuildstate".
1>
1>Build succeeded.
1>
1>Time Elapsed 00:00:01.26
2>------ Rebuild All started: Project: TVBC, Configuration: Debug x64 ------
2>Build started 21-02-2011 11:43:49.
2>_PrepareForClean:
2> Deleting file "x64\Debug\TVBC.lastbuildstate".
2>InitializeBuildStatus:
2> Touching "x64\Debug\TVBC.unsuccessfulbuild".
2>ClCompile:
2> TVBC.cpp
2>Link:
2> Creating library C:\Users\SEP\Documents\FEFLOW IFM Projects\TVBC\x64\Debug\TVBC.lib and object C:\Users\SEP\Documents\FEFLOW IFM Projects\TVBC\x64\Debug\TVBC.exp
2>TVBC.obj : error LNK2019: unresolved external symbol IfmRegisterProc referenced in function RegisterModule
2>TVBC.obj : error LNK2019: unresolved external symbol IfmSetPrimarySource referenced in function RegisterModule
2>TVBC.obj : error LNK2019: unresolved external symbol IfmSetHtmlPage referenced in function RegisterModule
2>TVBC.obj : error LNK2019: unresolved external symbol IfmSetCopyrightPath referenced in function RegisterModule
2>TVBC.obj : error LNK2019: unresolved external symbol IfmSetDescriptionString referenced in function RegisterModule
2>TVBC.obj : error LNK2019: unresolved external symbol IfmRegisterModule referenced in function RegisterModule
2>TVBC.obj : error LNK2019: unresolved external symbol IfmModuleVersion referenced in function RegisterModule
2>TVBC.obj : error LNK2019: unresolved external symbol IfmGetBorderNode referenced in function "void __cdecl OnEditDocument(struct IfmModuleStruct *,struct _WidgetRec *)" (?OnEditDocument@@YAXPEAUIfmModuleStruct@@PEAU_WidgetRec@@@Z)
2>TVBC.obj : error LNK2019: unresolved external symbol IfmInfo referenced in function "void __cdecl OnEditDocument(struct IfmModuleStruct *,struct _WidgetRec *)" (?OnEditDocument@@YAXPEAUIfmModuleStruct@@PEAU_WidgetRec@@@Z)
2>TVBC.obj : error LNK2019: unresolved external symbol IfmGetNumberOfBorderNodes referenced in function "void __cdecl OnEditDocument(struct IfmModuleStruct *,struct _WidgetRec *)" (?OnEditDocument@@YAXPEAUIfmModuleStruct@@PEAU_WidgetRec@@@Z)
2>TVBC.obj : error LNK2019: unresolved external symbol IfmGetResultsFlowHeadValue referenced in function "void __cdecl PreTimeStep(struct IfmModuleStruct *)" (?PreTimeStep@@YAXPEAUIfmModuleStruct@@@Z)
2>TVBC.obj : error LNK2019: unresolved external symbol IfmSetBccFlowTypeAndValueAtCurrentTime referenced in function "void __cdecl PreTimeStep(struct IfmModuleStruct *)" (?PreTimeStep@@YAXPEAUIfmModuleStruct@@@Z)
2>TVBC.obj : error LNK2019: unresolved external symbol IfmGetResultsYVelocityValue referenced in function "void __cdecl PreTimeStep(struct IfmModuleStruct *)" (?PreTimeStep@@YAXPEAUIfmModuleStruct@@@Z)
2>TVBC.obj : error LNK2019: unresolved external symbol IfmGetResultsXVelocityValue referenced in function "void __cdecl PreTimeStep(struct IfmModuleStruct *)" (?PreTimeStep@@YAXPEAUIfmModuleStruct@@@Z)
2>TVBC.obj : error LNK2019: unresolved external symbol IfmGetBccFlowType referenced in function "void __cdecl PreTimeStep(struct IfmModuleStruct *)" (?PreTimeStep@@YAXPEAUIfmModuleStruct@@@Z)
2>TVBC.obj : error LNK2019: unresolved external symbol IfmGetBcFlowType referenced in function "void __cdecl PreTimeStep(struct IfmModuleStruct *)" (?PreTimeStep@@YAXPEAUIfmModuleStruct@@@Z)
2>TVBC.obj : error LNK2019: unresolved external symbol IfmSetBcMassTypeAndValueAtCurrentTime referenced in function "void __cdecl PreTimeStep(struct IfmModuleStruct *)" (?PreTimeStep@@YAXPEAUIfmModuleStruct@@@Z)
2>TVBC.obj : error LNK2019: unresolved external symbol IfmSetBcFlowTypeAndValueAtCurrentTime referenced in function "void __cdecl PreTimeStep(struct IfmModuleStruct *)" (?PreTimeStep@@YAXPEAUIfmModuleStruct@@@Z)
2>TVBC.obj : error LNK2019: unresolved external symbol IfmGetY referenced in function "void __cdecl PreTimeStep(struct IfmModuleStruct *)" (?PreTimeStep@@YAXPEAUIfmModuleStruct@@@Z)
2>TVBC.obj : error LNK2019: unresolved external symbol IfmGetX referenced in function "void __cdecl PreTimeStep(struct IfmModuleStruct *)" (?PreTimeStep@@YAXPEAUIfmModuleStruct@@@Z)
2>TVBC.obj : error LNK2019: unresolved external symbol IfmGetCurrentTimeIncrement referenced in function "void __cdecl PreTimeStep(struct IfmModuleStruct *)" (?PreTimeStep@@YAXPEAUIfmModuleStruct@@@Z)
2>TVBC.obj : error LNK2019: unresolved external symbol IfmGetAbsoluteSimulationTime referenced in function "void __cdecl PreTimeStep(struct IfmModuleStruct *)" (?PreTimeStep@@YAXPEAUIfmModuleStruct@@@Z)
2>C:\Users\SEP\Documents\FEFLOW IFM Projects\TVBC\x64\Debug\TVBC.dll : fatal error LNK1120: 22 unresolved externals
2>
2>Build FAILED.
2>
2>Time Elapsed 00:00:00.79
========== Rebuild All: 1 succeeded, 1 failed, 0 skipped ==========
I can't seem to find a guide on how to set this up in VC++ 2010 allthough one is mentioned here http://www.feflow.info/html/help/default.htm?turl=HTMLDocuments%2Fmorehelp%2Fdocumentation.htm (can't seem to download it anywhere). Will I need the 2008 version to make this work?
Thanks in advance!
Regards,
Søren