Please wait...
×

Error

Posted Tue, 02 Dec 2008 22:12:29 GMT by Niels Christian Onno Gilse
Dear WASY
I have tried to follow the IFM_example.pdf tutorial, and the dll is build with no errors or warnings.
Everything seems to work fine until I try to open the Module Selection in the Problem Editor:
There my new module is missing in the list.

When I try to add the module from the Interface Manager, I get the error: 'Cannot load "...HelloWorld.dll (unknown reason)!

I have discovered that this error does not occur when I try to load it in Feflow-32bit.

Is it a problem with my settings in Visual Studio or a bug in the IFM?

My system specs are:
Win XP x64
Feflow v. 5.311
Visual Studio 2008
Posted Wed, 03 Dec 2008 07:53:51 GMT by Denim Umeshkumar Anajwala
To use a module in the 64-bit version of FEFLOW, you will have to do the settings for 64-bit compilation in Visual Studio. Otherwise the module can only be used in the 32-bit version of FEFLOW (which is also installed on 64-bit operating systems, see the Start - Programs - WASY menu). I have copied some text from http://blogs.msdn.com/windowssdk/archive/2007/11/13/how-to-add-64-bit-support-to-vcproj-files.aspx (for FEFLOW 5.4 we will hopefully find the time to add a step-by-step description to the pdf you mentioned):

"How to: Add 64-bit support to .vcproj files

Have you found a great sample in the Windows SDK but wish it could target 64-bit platforms?  Not all of our samples have 64-bit support, but it’s quick and easy to configure the sample yourself using the project configurations available in the Visual Studio Integrated Development Environment (IDE).

To develop 64-bit applications you must install one or both of the Visual C++ 64-bit compilers.  Without these compilers on your dev machine, 64-bit project configurations will not be available in the IDE. See Installing Visual Studio 64-bit Components on MSDN for more about this.

First, I’ll describe how to change the active project configuration to target 64-bit platforms using the Visual Studio IDE. Next, I’ll describe how to migrate Win32 project settings into a 64-bit project configuration.

How to: set up C++ applications to target 64-bit platforms

1.      Using Visual Studio, open the C++ project that you want to configure to target a 64-bit platform.

2.      Open the property pages for that project. (Right-click the project node in Solution Explorer and click Properties.)
3.      Click Configuration Manager to open the Configuration Manager Dialog Box.
4.      Click the Active Solution Platform list, and then select the <New…> option to open the New Solution Platform Dialog Box.
5.      Click the Type or select the new platform drop-down arrow, and then select a 64-bit platform. (64-bit platform will not be available if you don’t have a 64-bit compiler installed.) In the New Solution Platform dialog box, you can copy existing project settings into the new 64-bit project configuration using the Copy settings from option.
6.      Click OK. The platform you selected in the preceding step will appear under Active Solution Platform in the Configuration Manager dialog box.
7.      Click Close in the Configuration Manager dialog box, and then click OK in the <Projectname> Property Pages dialog box.

To copy Win32 project settings into a 64-bit project configuration

  1. When the New Solution Platform dialog box is open while you set up your project to target a 64-bit platform, click the Copy settings from drop-down arrow, and then select Win32. The project settings listed below are automatically updated on the project level:

o    /MACHINE (Specify Target Platform) is set to /MACHINE:IA64 or /MACHINE:X64.

o    Register Output is turned OFF. For more information, see Linker Property Pages.

o    Target Environment is set to /env x64 or /env ia64. For more information, see MIDL Property Pages: General.

o    Validate Parameters is cleared and reset to the default value. For more information, see MIDL Property Pages: Advanced.

o    If Debug Information Format was set to /ZI in the Win32 project configuration, then it is set to /Zi in the 64-bit project configuration. For more information, see /Z7, /Zi, /ZI (Debug Information Format).

o    Values of WIN32 are replaced by WIN64 for /D (Preprocessor Definitions).

Note: none of these project properties are changed if they are overridden at the file level.

Karin Meier-Magruder

Windows SDK Samples Program Manager"

Posted Wed, 03 Dec 2008 16:24:35 GMT by Niels Christian Onno Gilse
Hi Peter
I get the following build output after following the instructions:

1>------ Build started: Project: ifm, Configuration: Debug x64 ------
1>Compiling...
1>ifc_xdk.c
1>c1 : fatal error C1083: Cannot open source file: '..\..\src\ifc_xdk.c': No such file or directory
1>Build log was saved at "file://c:\Documents and Settings\All Users\Documents\WASY FEFLOW 5.3\sdk\ifm\lib\vc9\x64\WinDebug9\BuildLog.htm"
1>ifm - 1 error(s), 0 warning(s)
2>------ Build started: Project: HelloWorld, Configuration: Debug x64 ------
2>Compiling...
2>cl : Command line warning D9035 : option 'Wp64' has been deprecated and will be removed in a future release
2>HelloWorld.cpp
2>Compiling manifest to resources...
2>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
2>Copyright (C) Microsoft Corporation.  All rights reserved.
2>Linking...
2>LINK : fatal error LNK1104: cannot open file 'c:\documents and settings\all users\documents\wasy feflow 5.3\sdk\ifm\lib\x64\ifmsd.lib'
2>Build log was saved at "file://e:\_Dokumenter\FEFLOW IFM Projects\HelloWorld\HelloWorld\x64\Debug\BuildLog.htm"
2>HelloWorld - 1 error(s), 1 warning(s)
========== Build: 0 succeeded, 2 failed, 0 up-to-date, 0 skipped ==========

The "...\src\ifc_xdk.c" is on the Source Files list under the ifm-project, but does not exist.
The "...\lib\x64" folder does not exist either.

These entries was made automatically after the instructed procedure...

- any suggestions on that one? (Otherwise I will just change to the Win32 version of feflow...)

Thanks again!

NC
Posted Thu, 11 Dec 2008 13:34:07 GMT by Alexander Renz
Dear all,
please follow this link to a step-by-step example for creating and compiling an Ifm module with Visual Studio 2008. It includes the handling of 64-bit modules.
[url=http://www.feflow.info/uploads/media/ifm_example_VS2008.pdf]
http://www.feflow.info/uploads/media/ifm_example_VS2008.pdf[/url]
Posted Tue, 30 Dec 2008 19:07:06 GMT by Denim Umeshkumar Anajwala
When compiling for 64-bit, make sure that you use "<FEFLOW Root Folder>\[b]bin64[/b]\feflow.exe" in step 4.3  ;)

I normally change the configuration to 64-bit first and then set the project properties. I found, it works better that way, but forgot why. The above mentioned setting was one reason though ....

Cheers, Chris
Posted Tue, 20 Mar 2012 16:29:02 GMT by madhura
Hi,

I am facing the below issue while build the HelloWorld project in MS visual C ++ 2010 Express.
I am working on Feflow Classic 32 bit and also C++ 2010 on 32 bit system.

I added Module Definition file as $(ProjectName).def in C ++ configuration -> Linker -> input  to get over the previous error but now I am getting below error while building the HelloWorld.

2[color=blue][b]>------ Build started: Project: HelloWorld1, Configuration: Debug Win32 ------
2>  HelloWorld.cpp
2>LINK : fatal error LNK1104: cannot open file 'HelloWorld1.def'
========== Build: 1 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========[/b][/color]
Can anyone please guide me to resolve this issue.

Thanks
Madhura

You must be signed in to post in this forum.