Would anyone be able to explain why i would be getting a fatal error? I have searched all over and it seems that i cannot find a solution.I am trying to build a project with WXwidgets and when i build my project i keep getting fatal error 1189 debug CRT functions not included.I have already built and released the wxwidgets project.I am programming in c, and using visual studios 2015. Basically I would like to understand why this error is occurring and how i could fix it.C:wxWidgetsTemplate.2.5.3buildwxWidgetsNuGetCreatePCH.cpp(33): fatal error C1189: #error: Debug CRT functions have not been included! Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped.
Build: 20 succeeded, 0 failed, 0 up-to-date, 0 skipped. Close Visual Studio.Step 5 – Create a new project. In Visual Studio 2008, go to File New Project. Select Visual C Empty Project. Give the project a name and click OK.
I named this wxTest.Step 6 – Create/Copy your source to this project. Right-click on the Project name and choose Open Folder in Windows Explorer. This will open to the home folder of your project. Wxmsw28dcore.lib wxbase28d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib winmm.lib comctl32.lib rpcrt4.lib wsock32.lib odbc32.libNote: Not all of these libraries are required for this project, however, I list all of these because you may use some of them at some point. If you don’t think one is needed, remove it and recompile and if you don’t get errors, you were right, you probably didn’t need it. Click to expand Resources.
(If you don’t see a Resources option, then you don’t have any files under resources so that is normal. Did you skip Step 5 because you probably should have added a resource in Step 5.). Click to highlight General. Enter the following in Preprocessor Definitions. $(WXWIN)include;$(WXWIN)libvclibmswdYou are now ready to build your wxWidgets application using Visual Studio 2008 on Windows 7.Build your project and if you get any errors, go through it again, you probably missed a step (or I did, since I have already been caught with one step left out).Copyright ® Rhyous.com – Linking to this article is allowed without permission and as many as ten lines of this article can be used along with this link.
Any other use of this article is allowed only by permission of Rhyous.com. Update for wxWidgets 3.0: Some of the libraries in wxWidgets-3.0.0/lib/vclib have slightly different names (e.g ending in 'ud' instead of 'd', or having a '30' instead of '28'). So I had to tweak steps 6 and 13.Step 6: Change mswd to mswud.$(WXWIN)include;$(WXWIN)libvclibmswudStep 13: The following libraries worked for me.wxmsw30udcore.lib wxbase30ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib winmm.lib comctl32.lib rpcrt4.lib wsock32.lib odbc32.libI also didn't have a Resources tab, which hasn't been a problem so far. Maybe it's because I'm using VS 2005? Howdy all,I've gone through all of the steps and I'm still getting the following error messages when I try to build:1- Build started: Project: wxTest, Configuration: Release Win32 -1Compiling.1minimal.cpp1Compiling resources.1Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.11Copyright (C) Microsoft Corporation.
OK, so i'm pretty sure i followed this exactly as you've said, but i've got a few problems.In the process of compiling / linking, it first came up with an error about not being able to find the icon file (not a problem, i just deleted the line). Now I have this error message: 'Error1error LNK2001: unresolved external symbol 'protected: virtual class wxString thiscall wxAppTraitsBase::GetAssertStackTrace(void)' (?GetAssertStackTrace@wxAppTraitsBase@@MAE?AVwxString@@XZ)wxmsw28dcore.lib'I'd appreciate any help you can offer. I don't think you should use the 'lib' directory for includes directly. You should use the following for your 'Additional Include Directories' setting: '$(WXWIN)include;$(WXWIN)includemsvc'The 'msvc' directory contains a 'wx' directory, which contains a 'setup.h' file. The 'setup.h' file is a wrapper around the 'setup.h' file located in the 'lib' directory.
It will include the appropriate 'setup.h' file for the configuration you're using. The way you're doing it is specific to a particular configuration. Using what I've described will work for all configurations (32-bit/64-bit Debug/Release ANSI/Unicode Monolithic).Also, for VS10, just use 'VC Directories' instead of the 'Additional Include/Library Directories' settings. The 'VC Directories' are now project and configuration specific in VS10.Do what you prefer, I'm just providing information. This worked fine for me in VS 2010 Ultimate and wxWidgets-2.9.1 too.
There were a couple of catches:Step 7, Item 6: With the previous steps, only the 'u' libaries were built. Therefore I had to change this to '$(WXWIN)include;$(WXWIN)libvclibmswud'.Step 7, Item 8: VS 2010 is very fussy about whether DEBUG is defined, and if you try to link things compiled with it against libraries compiled without it you'll get complaints about like 'error LNK2038: mismatch detected for 'ITERATORDEBUGLEVEL': value '0' doesn't match value '2' '.
Also, there're some Preprocessor Definitions that are already there. This is what I got after done what u said.Crap.! 🙁Error1error C1083: Cannot open include file: 'wx/setup.h': No such file or directoryd:wxwidgets-2.8.11includewxplatform.h1961Test2IntelliSense: #error directive: 'wxUSECRASHREPORT must be defined.'
D:wxwidgets-2.8.11includewxchkconf.h9593IntelliSense: #error directive: 'wxUSEDYNLIBCLASS must be defined.' D:wxwidgets-2.8.11includewxchkconf.h10394IntelliSense: #error directive: 'wxUSEEXCEPTIONS must be defined.' D:wxwidgets-2.8.11includewxchkconf.h11195IntelliSense: #error directive: 'wxUSEFILESYSTEM must be defined.' D:wxwidgets-2.8.11includewxchkconf.h11996IntelliSense: #error directive: 'wxUSEFSARCHIVE must be defined.' D:wxwidgets-2.8.11includewxchkconf.h12797IntelliSense: #error directive: 'wxUSEDYNAMICLOADER must be defined.' D:wxwidgets-2.8.11includewxchkconf.h14098IntelliSense: #error directive: 'wxUSELOG must be defined.'
D:wxwidgets-2.8.11includewxchkconf.h14899IntelliSense: #error directive: 'wxUSELONGLONG must be defined.' D:wxwidgets-2.8.11includewxchkconf.h156910IntelliSense: #error directive: 'wxUSEMIMETYPE must be defined.' D:wxwidgets-2.8.11includewxchkconf.h164911IntelliSense: #error directive: 'wxUSEONFATALEXCEPTION must be defined.' D:wxwidgets-2.8.11includewxchkconf.h172912IntelliSense: #error directive: 'wxUSEPRINTFPOSPARAMS must be defined.' D:wxwidgets-2.8.11includewxchkconf.h180913IntelliSense: #error directive: 'wxUSEPROTOCOL must be defined.' D:wxwidgets-2.8.11includewxchkconf.h188914IntelliSense: #error directive: 'wxUSEREGEX must be defined.' D:wxwidgets-2.8.11includewxchkconf.h230915IntelliSense: #error directive: 'wxUSESTDPATHS must be defined.'
D:wxwidgets-2.8.11includewxchkconf.h238916IntelliSense: #error directive: 'wxUSEXML must be defined.' D:wxwidgets-2.8.11includewxchkconf.h246917IntelliSense: #error directive: 'wxUSESOCKETS must be defined.' D:wxwidgets-2.8.11includewxchkconf.h254918IntelliSense: #error directive: 'wxUSESTREAMS must be defined.' D:wxwidgets-2.8.11includewxchkconf.h262919IntelliSense: #error directive: 'wxUSESTOPWATCH must be defined.'
D:wxwidgets-2.8.11includewxchkconf.h270920IntelliSense: #error directive: 'wxUSETEXTBUFFER must be defined.' D:wxwidgets-2.8.11includewxchkconf.h278921IntelliSense: #error directive: 'wxUSETEXTFILE must be defined.' D:wxwidgets-2.8.11includewxchkconf.h286922IntelliSense: #error directive: 'wxUSEURL must be defined.'
D:wxwidgets-2.8.11includewxchkconf.h302923IntelliSense: #error directive: 'wxUSEVARIANT must be defined.' D:wxwidgets-2.8.11includewxchkconf.h310924IntelliSense: #error directive: 'wxUSEABOUTDLG must be defined.'
D:wxwidgets-2.8.11includewxchkconf.h330925IntelliSense: #error directive: 'wxUSEACCEL must be defined.' D:wxwidgets-2.8.11includewxchkconf.h338926IntelliSense: #error directive: 'wxUSEANIMATIONCTRL must be defined.' D:wxwidgets-2.8.11includewxchkconf.h346927IntelliSense: #error directive: 'wxUSEBITMAPCOMBOBOX must be defined.' D:wxwidgets-2.8.11includewxchkconf.h354928IntelliSense: #error directive: 'wxUSEBMPBUTTON must be defined.' D:wxwidgets-2.8.11includewxchkconf.h362929IntelliSense: #error directive: 'wxUSEBUTTON must be defined.' D:wxwidgets-2.8.11includewxchkconf.h370930IntelliSense: #error directive: 'wxUSECALENDARCTRL must be defined.' D:wxwidgets-2.8.11includewxchkconf.h378931IntelliSense: #error directive: 'wxUSECARET must be defined.'
D:wxwidgets-2.8.11includewxchkconf.h386932IntelliSense: #error directive: 'wxUSECHECKBOX must be defined.' D:wxwidgets-2.8.11includewxchkconf.h394933IntelliSense: #error directive: 'wxUSECHOICE must be defined.' D:wxwidgets-2.8.11includewxchkconf.h410934IntelliSense: #error directive: 'wxUSECHOICEBOOK must be defined.' D:wxwidgets-2.8.11includewxchkconf.h418935IntelliSense: #error directive: 'wxUSECHOICEDLG must be defined.' D:wxwidgets-2.8.11includewxchkconf.h426936IntelliSense: #error directive: 'wxUSECLIPBOARD must be defined.' D:wxwidgets-2.8.11includewxchkconf.h434937IntelliSense: #error directive: 'wxUSECOLLPANE must be defined.' D:wxwidgets-2.8.11includewxchkconf.h442938IntelliSense: #error directive: 'wxUSECOLOURDLG must be defined.'
D:wxwidgets-2.8.11includewxchkconf.h450939IntelliSense: #error directive: 'wxUSECOLOURPICKERCTRL must be defined.' D:wxwidgets-2.8.11includewxchkconf.h458940IntelliSense: #error directive: 'wxUSECOMBOBOX must be defined.' D:wxwidgets-2.8.11includewxchkconf.h466941IntelliSense: #error directive: 'wxUSECOMBOCTRL must be defined.' D:wxwidgets-2.8.11includewxchkconf.h474942IntelliSense: #error directive: 'wxUSEDATAOBJ must be defined.' D:wxwidgets-2.8.11includewxchkconf.h482943IntelliSense: #error directive: 'wxUSEDATAVIEWCTRL must be defined.' D:wxwidgets-2.8.11includewxchkconf.h490944IntelliSense: #error directive: 'wxUSEDATEPICKCTRL must be defined.'
D:wxwidgets-2.8.11includewxchkconf.h498945IntelliSense: #error directive: 'wxUSEDIRPICKERCTRL must be defined.' D:wxwidgets-2.8.11includewxchkconf.h506946IntelliSense: #error directive: 'wxUSEDISPLAY must be defined.' D:wxwidgets-2.8.11includewxchkconf.h514947IntelliSense: #error directive: 'wxUSEDOCVIEWARCHITECTURE must be defined.' D:wxwidgets-2.8.11includewxchkconf.h522948IntelliSense: #error directive: 'wxUSEFILEDLG must be defined.'
D:wxwidgets-2.8.11includewxchkconf.h530949IntelliSense: #error directive: 'wxUSEFILEPICKERCTRL must be defined.' D:wxwidgets-2.8.11includewxchkconf.h538950IntelliSense: #error directive: 'wxUSEFONTDLG must be defined.' D:wxwidgets-2.8.11includewxchkconf.h546951IntelliSense: #error directive: 'wxUSEFONTMAP must be defined.' D:wxwidgets-2.8.11includewxchkconf.h554952IntelliSense: #error directive: 'wxUSEFONTPICKERCTRL must be defined.' D:wxwidgets-2.8.11includewxchkconf.h562953IntelliSense: #error directive: 'wxUSEGAUGE must be defined.'
D:wxwidgets-2.8.11includewxchkconf.h570954IntelliSense: #error directive: 'wxUSEGRAPHICSCONTEXT must be defined.' D:wxwidgets-2.8.11includewxchkconf.h578955IntelliSense: #error directive: 'wxUSEGRID must be defined.' D:wxwidgets-2.8.11includewxchkconf.h587956IntelliSense: #error directive: 'wxUSEHELP must be defined.' D:wxwidgets-2.8.11includewxchkconf.h595957IntelliSense: #error directive: 'wxUSEHYPERLINKCTRL must be defined.' D:wxwidgets-2.8.11includewxchkconf.h603958IntelliSense: #error directive: 'wxUSEHTML must be defined.' D:wxwidgets-2.8.11includewxchkconf.h611959IntelliSense: #error directive: 'wxUSEICOCUR must be defined.' D:wxwidgets-2.8.11includewxchkconf.h632960IntelliSense: #error directive: 'wxUSEIFF must be defined.'
D:wxwidgets-2.8.11includewxchkconf.h640961IntelliSense: #error directive: 'wxUSEIMAGLIST must be defined.' D:wxwidgets-2.8.11includewxchkconf.h648962IntelliSense: #error directive: 'wxUSEJOYSTICK must be defined.' D:wxwidgets-2.8.11includewxchkconf.h656963IntelliSense: #error directive: 'wxUSELISTBOOK must be defined.'
D:wxwidgets-2.8.11includewxchkconf.h664964IntelliSense: #error directive: 'wxUSELISTBOX must be defined.' D:wxwidgets-2.8.11includewxchkconf.h672965IntelliSense: #error directive: 'wxUSELISTCTRL must be defined.' D:wxwidgets-2.8.11includewxchkconf.h680966IntelliSense: #error directive: 'wxUSELOGGUI must be defined.' D:wxwidgets-2.8.11includewxchkconf.h688967IntelliSense: #error directive: 'wxUSELOGWINDOW must be defined.'
D:wxwidgets-2.8.11includewxchkconf.h696968IntelliSense: #error directive: 'wxUSELOGDIALOG must be defined.' D:wxwidgets-2.8.11includewxchkconf.h704969IntelliSense: #error directive: 'wxUSEMDI must be defined.' D:wxwidgets-2.8.11includewxchkconf.h712970IntelliSense: #error directive: 'wxUSEMDIARCHITECTURE must be defined.' D:wxwidgets-2.8.11includewxchkconf.h720971IntelliSense: #error directive: 'wxUSEMENUS must be defined.' D:wxwidgets-2.8.11includewxchkconf.h728972IntelliSense: #error directive: 'wxUSEMSGDLG must be defined.' D:wxwidgets-2.8.11includewxchkconf.h736973IntelliSense: #error directive: 'wxUSENOTEBOOK must be defined.'
D:wxwidgets-2.8.11includewxchkconf.h744974IntelliSense: #error directive: 'wxUSEODCOMBOBOX must be defined.' D:wxwidgets-2.8.11includewxchkconf.h752975IntelliSense: #error directive: 'wxUSEPALETTE must be defined.' D:wxwidgets-2.8.11includewxchkconf.h760976IntelliSense: #error directive: 'wxUSEPOPUPWIN must be defined.'
D:wxwidgets-2.8.11includewxchkconf.h768977IntelliSense: #error directive: 'wxUSEPRINTINGARCHITECTURE must be defined.' D:wxwidgets-2.8.11includewxchkconf.h776978IntelliSense: #error directive: 'wxUSERADIOBOX must be defined.'
D:wxwidgets-2.8.11includewxchkconf.h784979IntelliSense: #error directive: 'wxUSERADIOBTN must be defined.' D:wxwidgets-2.8.11includewxchkconf.h792980IntelliSense: #error directive: 'wxUSESASH must be defined.' D:wxwidgets-2.8.11includewxchkconf.h800981IntelliSense: #error directive: 'wxUSESCROLLBAR must be defined.' D:wxwidgets-2.8.11includewxchkconf.h808982IntelliSense: #error directive: 'wxUSESLIDER must be defined.' D:wxwidgets-2.8.11includewxchkconf.h816983IntelliSense: #error directive: 'wxUSESOUND must be defined.' D:wxwidgets-2.8.11includewxchkconf.h824984IntelliSense: #error directive: 'wxUSESPINBTN must be defined.'
D:wxwidgets-2.8.11includewxchkconf.h832985IntelliSense: #error directive: 'wxUSESPINCTRL must be defined.' D:wxwidgets-2.8.11includewxchkconf.h840986IntelliSense: #error directive: 'wxUSESPLASH must be defined.' D:wxwidgets-2.8.11includewxchkconf.h848987IntelliSense: #error directive: 'wxUSESPLITTER must be defined.'
D:wxwidgets-2.8.11includewxchkconf.h856988IntelliSense: #error directive: 'wxUSESTATBMP must be defined.' D:wxwidgets-2.8.11includewxchkconf.h864989IntelliSense: #error directive: 'wxUSESTATBOX must be defined.' D:wxwidgets-2.8.11includewxchkconf.h872990IntelliSense: #error directive: 'wxUSESTATLINE must be defined.' D:wxwidgets-2.8.11includewxchkconf.h880991IntelliSense: #error directive: 'wxUSESTATTEXT must be defined.' D:wxwidgets-2.8.11includewxchkconf.h888992IntelliSense: #error directive: 'wxUSESTATUSBAR must be defined.' D:wxwidgets-2.8.11includewxchkconf.h896993IntelliSense: #error directive: 'wxUSETABDIALOG must be defined.' D:wxwidgets-2.8.11includewxchkconf.h904994IntelliSense: #error directive: 'wxUSETEXTCTRL must be defined.'
D:wxwidgets-2.8.11includewxchkconf.h912995IntelliSense: #error directive: 'wxUSETIPWINDOW must be defined.' D:wxwidgets-2.8.11includewxchkconf.h920996IntelliSense: #error directive: 'wxUSETOOLBAR must be defined.' D:wxwidgets-2.8.11includewxchkconf.h928997IntelliSense: #error directive: 'wxUSETOOLTIPS must be defined.' D:wxwidgets-2.8.11includewxchkconf.h936998IntelliSense: #error directive: 'wxUSETREECTRL must be defined.' D:wxwidgets-2.8.11includewxchkconf.h944999IntelliSense: #error directive: 'wxUSEVALIDATORS must be defined.' D:wxwidgets-2.8.11includewxchkconf.h9529100IntelliSense: #error directive: 'wxUSEWXHTMLHELP must be defined.' D:wxwidgets-2.8.11includewxchkconf.h9609101IntelliSense: #error directive: 'wxUSEXRC must be defined.'
If anyone is having problems with understanding release and debug mode when compiling I spent hours trying to figure out how to change settings from debug to release. Some idiot at MS put it in front of my face. Find the little green arrow pointing to debug on the ribbon and click the down arrow next to the debug window. There you can select the type of build you want. Then go to build and click build. If you have dual processors it will take a few builds before everything builds with out errors. Thanks for this detailed tutorial.
Great if you have the minimal working then it is fairly easy to make everything work.You are probably missing a library such as wxmsw28dmedia.lib in your Linker Input section. Try adding that.If it still doesn't work, do this:Go to: C:DevwxWidgets-2.8.10SamplesOpen the Samples solution (And choose yes to upgrade everything.)Once it opens, scroll down to the mediaplayer project.Right-click on the mediaplayer project and choose build and see if that works.I am assuming this is going to work for you.Compare your settings in your project to the settings in the sample.Note: Be aware that the samples folder is located. From the lib folder so it adds Additional Include Directories as like this.libvclibmswd.include.samples.However, you are not always going to create a project in the Samples directory, which is why in your projects you should NOT use.lib but instead you should use: $(WXWIN)include;$(WXWIN)libvclibmswd. Thanks so much for doing this! I got a sample program up and going with hardly a glitch.
One question though.At first, I got an error saying 'sample.ico' could not be found. I know absolutely nothing about resources, but I found a file called sample.ico in the Wx installation, and I dragged it into the 'Resource Files' section in Solution Explorer, and the program ran just fine.
I do not know why it did not find the icon before I did that, or really how it found it after I did. Can you edify me, or point me to the documentation?
Resources are a deep mystery to me.Thanks again!Jive. After playing around with the setting in IDE(MS VC 2008) i finally get the problem solved.Frist of all, I compile my wxWidgets libraries by hand one after an other.
Frist In the build configuration menu, i choose 'debug'. And i compile the Libraries in the order that i got from wxWiki:jpeg,png,tiff,zlib,regex,expat,base,net,odbc,core,gl,html,media,qa,adv,dbgrid,xrc,aui,richtextAfter that, i was getting an error saying 'wx/wxprec.h': No such file or directory.In stand of writing those directories that are in this tutorial, I browser them. And that all.Now my program is running great. My wxWidgets are well install now.Thanks again for your tutorial it was so helpfull.I m suscribing to this thread if someone has a question i would happy to help.