Did anybody try?
-
Did anybody try to build MFC project in VC7 utilizing MFC4 includes and libs? If yes and it works: did anybody try to build managed MFC4 project? Thanx "...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..." Me
-
Did anybody try to build MFC project in VC7 utilizing MFC4 includes and libs? If yes and it works: did anybody try to build managed MFC4 project? Thanx "...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..." Me
-
Did anybody try to build MFC project in VC7 utilizing MFC4 includes and libs? If yes and it works: did anybody try to build managed MFC4 project? Thanx "...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..." Me
I have not tried that. How did you do that? Using the project settings? This might solve a problem I have been having. All of my code is built against a few MFC dlls I have wrote. Actually a good deal of the code is from this and other sites... But anyways when I tried to compile it with the new compiler I got hundreads of errors. Some of these errors are due to using internal MFC stuff that has changed... John
-
...but someone here might have.
Shog9
Let your mercy spill / On all these burning hearts in hell If it be your will / To make us well...
Wow, you are nice today ;) - Anders Money talks, but all mine ever says is "Goodbye!" http://SourceLocker.net[^] SourceControl and DefectTracker Project. nsms@spyf.dk <- Spam Collecting ;)
-
I have not tried that. How did you do that? Using the project settings? This might solve a problem I have been having. All of my code is built against a few MFC dlls I have wrote. Actually a good deal of the code is from this and other sites... But anyways when I tried to compile it with the new compiler I got hundreads of errors. Some of these errors are due to using internal MFC stuff that has changed... John
Yes, it works -- I've just checked: I've done the following: 1. Have parallel to .NET 2003 IDE -- VC6 installation; 2. Created simple MFC project (Dialog); 3. Project Settings/C/C++/Preprocessor/Ignore Standard Include Path - set to Yes; 4. Project Settings/C/C++/General/Additional Include Dirs - put the same that I have in VC6/Tools/Options/Directories/Include files and in the same order; 5. Project Settings/Linker/Additional Library Directories - put the same as I have in VC6 VC6/Tools/Options/Directories/Library Files and in the same order; 6. For Debug configuration: Disable Basic Runtime Check: Debug/Project Settings/C/C++/Code Generation/Basic Runtime Check/Set to Default; 7. For Release configuration: Disable Buffer Security Check: Release/Project Settings/C/C++/Code Generation/Buffer Security Check/Set to No; That's it. Interesting resultant EXE is 50% larger in size then the one created from the same code in VC6. But that's probably some other option (like FILEALIGN and etc)... So, looks like it's very possible to have Managed wrapper calling unmanaged MFC4 in the same VC++ project -- didn't try yet. Somebody may ask why do you need that: an answer is: why would you rewrite working MFC4 system? + MFC4 dlls is for sure on the client. Regards "...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..." Me
-
Yes, it works -- I've just checked: I've done the following: 1. Have parallel to .NET 2003 IDE -- VC6 installation; 2. Created simple MFC project (Dialog); 3. Project Settings/C/C++/Preprocessor/Ignore Standard Include Path - set to Yes; 4. Project Settings/C/C++/General/Additional Include Dirs - put the same that I have in VC6/Tools/Options/Directories/Include files and in the same order; 5. Project Settings/Linker/Additional Library Directories - put the same as I have in VC6 VC6/Tools/Options/Directories/Library Files and in the same order; 6. For Debug configuration: Disable Basic Runtime Check: Debug/Project Settings/C/C++/Code Generation/Basic Runtime Check/Set to Default; 7. For Release configuration: Disable Buffer Security Check: Release/Project Settings/C/C++/Code Generation/Buffer Security Check/Set to No; That's it. Interesting resultant EXE is 50% larger in size then the one created from the same code in VC6. But that's probably some other option (like FILEALIGN and etc)... So, looks like it's very possible to have Managed wrapper calling unmanaged MFC4 in the same VC++ project -- didn't try yet. Somebody may ask why do you need that: an answer is: why would you rewrite working MFC4 system? + MFC4 dlls is for sure on the client. Regards "...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..." Me
Thanks for the info.. John
-
Yes, it works -- I've just checked: I've done the following: 1. Have parallel to .NET 2003 IDE -- VC6 installation; 2. Created simple MFC project (Dialog); 3. Project Settings/C/C++/Preprocessor/Ignore Standard Include Path - set to Yes; 4. Project Settings/C/C++/General/Additional Include Dirs - put the same that I have in VC6/Tools/Options/Directories/Include files and in the same order; 5. Project Settings/Linker/Additional Library Directories - put the same as I have in VC6 VC6/Tools/Options/Directories/Library Files and in the same order; 6. For Debug configuration: Disable Basic Runtime Check: Debug/Project Settings/C/C++/Code Generation/Basic Runtime Check/Set to Default; 7. For Release configuration: Disable Buffer Security Check: Release/Project Settings/C/C++/Code Generation/Buffer Security Check/Set to No; That's it. Interesting resultant EXE is 50% larger in size then the one created from the same code in VC6. But that's probably some other option (like FILEALIGN and etc)... So, looks like it's very possible to have Managed wrapper calling unmanaged MFC4 in the same VC++ project -- didn't try yet. Somebody may ask why do you need that: an answer is: why would you rewrite working MFC4 system? + MFC4 dlls is for sure on the client. Regards "...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..." Me
Another note mostly for myself not to forget: 1. Have parallel to .NET 2003 IDE -- VC6 installation; 2. Created simple MFC project (Dialog); 3. Project Settings/C/C++/Preprocessor/Ignore Standard Include Path - set to Yes; 4. Project Settings/C/C++/General/Additional Include Dirs - put the same that I have in VC6/Tools/Options/Directories/Include files and in the same order; 5. Project Settings/Linker/Additional Library Directories - put the same as I have in VC6 VC6/Tools/Options/Directories/Library Files and in the same order; 6. For Debug configuration: Disable Basic Runtime Check: Debug/Project Settings/C/C++/Code Generation/Basic Runtime Check/Set to Default; 7. For Release configuration: Disable Buffer Security Check: Release/Project Settings/C/C++/Code Generation/Buffer Security Check/Set to No; 8. If you are using CRT with floating point you may get: LNK2001: unresolved external symbol __ftol2 To fix that add the following switch to C command line: /QIfist 9. If you are using C++ Exception Handling (/EHsc) you may get the following error at Link stage (usualy in Release): LNK2019: unresolved external symbol __SEH_prolog referenced in function... To fix that add sehprolg.obj at the link stage (Link/Additional Dependencies). You can find it in latest MSDN Platform Microsoft SDK Lib subdir. "...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..." Me