|
Hard to say when you are so vague.
What are the exact errors?
[EDIT:] And the lines of code that cause them
|
|
|
|
|
For simple, 2D graphics (in Windows), look for tutorials on using the Windows GDI[^].
|
|
|
|
|
I have a basic MFC dialog based app so I am definitely using MFC. The official documentation says, "Non-MFC projects can select Use Standard Windows Libraries to link to various Win32 libraries that are included when you use MFC".
The implication is that you could not build / link / run an MFC application if you chose this compiler option, right? However, you can build and run an MFC application with this option.
What I want to know is, what is really going on or why does an MFC application work? If I use this option can I be free of MFC DLL dependencies? I have spent some time googling this, but I can't find any answers to this question.
|
|
|
|
|
Hi Deep,
Your understanding is almost correct. From visual studio project settings we can select 3 options "Use Standard Windows Libraries", "Use MFC in a Static Library"and "Use MFC in a Shared DLL".
The first one[Use Standard Windows Libraries] is used when we had an application or a dll that did not require MFC class or framework support. For example a console application or pure c++ libraries or a win32 application or a C application etc.
The second and third options are used where we need MFC class or framework support e.g: MFC dialog application, MFC SDI or MDI application or applications using CString etc.
The difference between "Use MFC in a Static Library"and "Use MFC in a Shared DLL" is given below in simple sentence.
If you need to run your application in another computer that did not had a Visual Studio run time, you should choose static library other wise use shared dll. And you can find more difference between these two from net
http://msdn.microsoft.com/en-us/library/1ez7dh12(v=vs.80).aspx[^]
http://stackoverflow.com/questions/2652679/regular-dll-using-mfc-shared-vs-mfc-statically-linked[^]
|
|
|
|
|
If my understanding is correct, then why can I build and run an MFC based Dialog application using the standard windows libraries? I have actually set this application to use the standard libraries and hit build and run and it does.
So why does this work?
|
|
|
|
|
Because an MFC project will automatically include any dependent MFC libraries.
|
|
|
|
|
Ok, thanks that explains that. So is this linked version closer to the MFC-Static mode or shared DLL mode?
|
|
|
|
|
I think the majority of the standard libraries are DLL's as they are installed by default on all Windows systems.
|
|
|
|
|
Thanks for all your help. I think I understand now. I would assume an MFC application compiled with Standard Windows Libraries would still be dependent upon various MFC dlls such that the end users machines might still need the VC redistributable package installed, where as the Static MFC linking gets by that requirement. In other words, going with Standard Windows Libraries buys me nothing unless I am genuinely MFC free.
|
|
|
|
|
Yes, I think that's about it.
|
|
|
|
|
I'm trying to debug a single threaded C++ application. When the program reaches to a breakpoint, the thread state pass to "1". Then, when I press F10 (step-over), the program just continue and it doesn't go to the next statement.
|
|
|
|
|
This is often an indication that the debug database is out of step with the source; try a full rebuild and see if that improves things.
|
|
|
|
|
Either what Richard said, or you're trying to debug multi-threaded code as if it were single-threaded. You will need to freeze and thaw threads appropriately (one of the many things) if it were multi-threaded.
"Real men drive manual transmission" - Rajesh.
|
|
|
|
|
hello guys... There is this folder which I really don't like to be displayed in my project/solution. When it is opened, I have to scroll all the way down to look for my desired files. Now I know how it can be disabled ( Tools -> Options -> Text Editor-> C/C++ -> Advanced ). But I want to know that how will it affect my projects in future. Although I read this article but still I could not get the idea. Any input is welcome. Thanks.
This world is going to explode due to international politics, SOON.
|
|
|
|
|
If you don't want to see a "folder" in your solution, just remove it from said solution? or "unload" it from the solution ?
Or am I missing something else ?
Watched code never compiles.
|
|
|
|
|
Maximilien wrote: If you don't want to see a "folder" in your solution, just remove it from said
solution? or "unload" it from the solution ?
When I right click on this folder, niether I see Remove option nor the Unload option.
Maximilien wrote: Or am I missing something else ?
Well all I can tell is that this folder is created automatically. To better understand the problem, did you visit the link given in OP? May be you should read Disable External Dependencies in the first section named as Browsing/Navigation.
This world is going to explode due to international politics, SOON.
|
|
|
|
|
Overloaded_Name wrote: When it is opened, I have to scroll all the way down to look for my desired files.
Don't open it. This folder is required by the Intellisense system and gets rebuilt from time to time. If you never open it it really won't cause you any problems.
|
|
|
|
|
Well the problem is; it automatically gets open. I would never want to open it. Well nothing is wrong with this folder but it is really annoying that I have to scroll alot, to get to the bottom of the Solution Explorer.
Richard MacCutchan wrote: This folder is required by the Intellisense system and gets rebuilt from time to
time
This suggests that you are inclinded to NOT TO DISABLE IT.
This world is going to explode due to international politics, SOON.
|
|
|
|
|
Overloaded_Name wrote: it automatically gets open.
I use VS2010 Express Edition and it is always closed. Maybe you have some option set that opens it.
|
|
|
|
|
At the top of the "Solution Pane" there is a icon button "Show All Files" that toggles between two modes, one of them only shows relevant files in the pane. Maybe that can solve your problem.
|
|
|
|
|
Hi, I have a problem, i got a huge project which works nice in release build, but in debug version I get thousands of debug assertion failures, which i realy dont want to care about.
It is this kind of thing what is failing (in afxwin2.inl): (m_hWnd is NULL)
_AFXWIN_INLINE void CWnd::ShowScrollBar(UINT nBar, BOOL bShow)
{ ASSERT(::IsWindow(m_hWnd)); ::ShowScrollBar(m_hWnd, nBar, bShow); }
With these debug assertions it is not possible for me to Debug the project.
I just want to change a little part of the project, but without debugmode (i need traces and so on) this will become very hard, so it is in any way possible to switch them off ?
And yes, i know assertions are my best friend, because they tell me something is wrong, but in this case I do not want to care about what is wrong, I only want to get my work done quickly without reprogramming the application.
Thank you
|
|
|
|
|
You could try redefining the ASSERT macro into something that doesn't do anything.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
You sir, are a dangerous idiot.
Seriously, no one listen to this, it is dangerous stupid advise.
==============================
Nothing to say.
|
|
|
|
|
Erudite_Eric wrote: it is dangerous stupid advise.
You sir, are an illiterate idiot.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Well, its a nod to the colonials!
==============================
Nothing to say.
|
|
|
|