MFC Error when using PSAPI - c++

I Have an MFC Dialog application.
I use win7 service pack 1 32 bit, Visual Studio 2010, MFC 2008/2010.
This is a part of my dlg file
//getprocessDlg.cpp
#include <psapi.h>
// TODO: Add extra initialization here
DWORD aProcesses[1024], cbNeeded, cProcesses;
unsigned int i;
if ( !EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) )
{
return 1;
}
When i Run, it display error. That's it
Error 1 error LNK2019: unresolved external symbol _EnumProcesses#12
referenced in function "protected: virtual int __thiscall
CgetprocessDlg::OnInitDialog(void)"
(?OnInitDialog#CgetprocessDlg##MAEHXZ) c:\Users\AnhNT\documents\visual
studio
2010\Projects\getprocess\getprocess\getprocessDlg.obj getprocess
Error 2 error LNK2019: unresolved external symbol
_GetModuleBaseNameW#16 referenced in function "public: void __thiscall CgetprocessDlg::PrintMemoryInfo(unsigned long)"
(?PrintMemoryInfo#CgetprocessDlg##QAEXK#Z) c:\Users\AnhNT\documents\visual
studio
2010\Projects\getprocess\getprocess\getprocessDlg.obj getprocess
I try all day but it has not work. Can somebody help me :(

Add Psapi.lib to the list of linker dependencies.
Project - Properties - Configuration Properties - Linker - Input - Additional Dependencies. Type Psapi.lib there.

Related

unresolved external symbols in Detours Library? (Detours::X64::DetourFunction, Direct3DCreate9)

so i was following along an dll injection tutorial on yt, and it gave me some errors when trying to compile.
1.unresolved external symbol "unsigned __int64 __cdecl Detours::X64::DetourFunction(unsigned __int64,unsigned __int64,enum Detours::X64Option)" (?DetourFunction#X64#Detours##YA_K_K0W4X64Option#2##Z) referenced in function "unsigned long __cdecl mainThread(void *)"
CODE TO ERROR:
DWORD WINAPI mainThread(PVOID base) {
void* d3d9Device[119];
if(GetD3D9Device(d3d9Device, sizeof(d3d9Device))){
oEndScene = (EndScene)Detours::X64::DetourFunction((uintptr_t)d3d9Device[42], (uintptr_t)hkEndScene);//here
}
while (true) {
if (GetAsyncKeyState(VK_F10)) {
CleanUpDeviceD3D();
FreeLibraryAndExitThread(static_cast<HMODULE>(base),1);
}
}
FreeLibraryAndExitThread(static_cast<HMODULE>(base), 1);
}
2. unresolved external symbol Direct3DCreate9 referenced in function "bool __cdecl GetD3D9Device(void * *,unsigned __int64)"
CODE TO ERROR:
bool GetD3D9Device(void **pTable, size_t size) {
if (!pTable) {
return false;
}
g_pD3D = Direct3DCreate9(D3D_SDK_VERSION); //here
on the first error, the tutorial stated you should use the following syntax:
oEndScene = (EndScene)Detours::X64::DetourFunction((Detours::uint8_t*)d3d9Device[42], (Detours::uint8_t*)hkEndScene);
however detours doesnt have uint8_t for me and some forums online said to use uintptr_t. but i still get the error. ive tried looking at my includes for lib and release in detours but it still says unresolved external symbol even after including the folder where Detoursx64.cpp is present.
any help ise appreciated.
you need to compile Detours as x86 and use the release folder instead of compiling detours as x64

Error while building MFC 4.1 project in MFC 6.0

I downloaded a project which was originally developed in MFC 4.1. I'm trying to build that project in MFC 6.0. When I opened it using Open WorkSpace, and build it, then following error came.
Link : fatal error LNK1104: cannot open file "mfc42ud.lib"
On internet I found a solution to fix this error by ignoring this library from Project settings. I did that and then another error on similar lines appeared for mfcs42ud.lib file. And I fixed that too.
When I added both the .lib files to ignore list, and build it, then I'm getting 901 errors like below....
--------------------Configuration: doodads - Win32 Unicode Debug-------------------- Linking... doodads.obj : error LNK2001:
unresolved external symbol __afxForceEXCLUDE ADDRESS.OBJ : error
LNK2001: unresolved external symbol __afxForceEXCLUDE expose.obj :
error LNK2001: unresolved external symbol __afxForceEXCLUDE
progress.obj : error LNK2001: unresolved external symbol
__afxForceEXCLUDE MaskDlg.obj : error LNK2001: unresolved external symbol __afxForceEXCLUDE SETKEY.OBJ : error LNK2001: unresolved
external symbol __afxForceEXCLUDE SPINNER.OBJ : error LNK2001:
unresolved external symbol __afxForceEXCLUDE stats.obj : error
LNK2001: unresolved external symbol __afxForceEXCLUDE ANIME.OBJ :
error LNK2001: unresolved external symbol __afxForceEXCLUDE STDAFX.OBJ
: error LNK2001: unresolved external symbol __afxForceEXCLUDE
MAINFRM.OBJ : error LNK2001: unresolved external symbol
__afxForceEXCLUDE DODADDOC.OBJ : error LNK2001: unresolved external symbol __afxForceEXCLUDE DoDadvw.obj : error LNK2001: unresolved
external symbol __afxForceEXCLUDE doodads.obj : error LNK2001:
unresolved external symbol __afxForceSTDAFX ADDRESS.OBJ : error
LNK2001: unresolved external symbol __afxForceSTDAFX expose.obj :
error LNK2001: unresolved external symbol __afxForceSTDAFX
progress.obj : error LNK2001: unresolved external symbol
__afxForceSTDAFX MaskDlg.obj : error LNK2001: unresolved external symbol __afxForceSTDAFX SETKEY.OBJ : error LNK2001: unresolved
external symbol __afxForceSTDAFX SPINNER.OBJ : error LNK2001:
unresolved external symbol __afxForceSTDAFX stats.obj : error LNK2001:
unresolved external symbol __afxForceSTDAFX ANIME.OBJ : error LNK2001:
unresolved external symbol __afxForceSTDAFX STDAFX.OBJ : error
LNK2001: unresolved external symbol __afxForceSTDAFX MAINFRM.OBJ :
error LNK2001: unresolved external symbol __afxForceSTDAFX
DODADDOC.OBJ : error LNK2001: unresolved external symbol
__afxForceSTDAFX DoDadvw.obj : error LNK2001: unresolved external symbol __afxForceSTDAFX
Here is the code file for your reference.
Add.h
// ADD.H - Header file for your Internet Server
// add Extension
#include "resource.h"
class CAddExtension : public CHttpServer
{
public:
CAddExtension();
~CAddExtension();
// Overrides
// ClassWizard generated virtual function overrides
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//{{AFX_VIRTUAL(CAddExtension)
public:
virtual BOOL GetExtensionVersion(HSE_VERSION_INFO* pVer);
//}}AFX_VIRTUAL
// TODO: Add handlers for your commands here.
// For example:
void Default(CHttpServerContext* pCtxt,
LPCTSTR pstrOp1, LPCTSTR pstrOp2);
DECLARE_PARSE_MAP()
//{{AFX_MSG(CAddExtension)
//}}AFX_MSG
};
Add.cpp
// ADD.CPP - Implementation file for your Internet Server
// add Extension
#include "stdafx.h"
#include "add.h"
#include <stdio.h>
///////////////////////////////////////////////////////////////////////
// command-parsing map
BEGIN_PARSE_MAP(CAddExtension, CHttpServer)
// TODO: insert your ON_PARSE_COMMAND() and
// ON_PARSE_COMMAND_PARAMS() here to hook up your commands.
// For example:
ON_PARSE_COMMAND(Default, CAddExtension, ITS_PSTR ITS_PSTR)
ON_PARSE_COMMAND_PARAMS("opone=~ optwo=~")
DEFAULT_PARSE_COMMAND(Default, CAddExtension)
END_PARSE_MAP(CAddExtension)
///////////////////////////////////////////////////////////////////////
// The one and only CAddExtension object
CAddExtension theExtension;
///////////////////////////////////////////////////////////////////////
// CAddExtension implementation
CAddExtension::CAddExtension()
{
}
CAddExtension::~CAddExtension()
{
}
BOOL CAddExtension::GetExtensionVersion(HSE_VERSION_INFO* pVer)
{
// Call default implementation for initialization
CHttpServer::GetExtensionVersion(pVer);
// Load description string
TCHAR sz[HSE_MAX_EXT_DLL_NAME_LEN+1];
ISAPIVERIFY(::LoadString(AfxGetResourceHandle(),
IDS_SERVER, sz, HSE_MAX_EXT_DLL_NAME_LEN));
_tcscpy(pVer->lpszExtensionDesc, sz);
return TRUE;
}
///////////////////////////////////////////////////////////////////////
// CAddExtension command handlers
void CAddExtension::Default(CHttpServerContext* pCtxt,
LPCTSTR pstrOp1, LPCTSTR pstrOp2)
{
StartContent(pCtxt);
WriteTitle(pCtxt);
int nOp1;
int nOp2;
if (*pstrOp1 != '~' && *pstrOp2 != '~')
{
nOp1 = atoi(pstrOp1);
nOp2 = atoi(pstrOp2);
char sz[1024];
sprintf(sz, "The result is: %d\n", nOp1 + nOp2);
*pCtxt << sz;
}
else
{
*pCtxt << "<FORM ACTION=\"http://mooseboy/add.dll\" METHOD=\"GET\">";
*pCtxt << "Enter the first number: <INPUT TYPE=\"text\" NAME=\"opone\" VALUE=\"0\" SIZE=10><p>";
*pCtxt << "Enter the second number: <INPUT TYPE=\"text\" NAME=\"optwo\" VALUE=\"0\" SIZE=10><p>";
*pCtxt << "<p> <INPUT TYPE = \"SUBMIT\" VALUE=\"Add it up\">";
*pCtxt << "</FORM>";
}
EndContent(pCtxt);
}
// Do not edit the following lines, which are needed by ClassWizard.
#if 0
BEGIN_MESSAGE_MAP(CAddExtension, CHttpServer)
//{{AFX_MSG_MAP(CAddExtension)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
#endif // 0
///////////////////////////////////////////////////////////////////////
// If your extension will not use MFC, you'll need this code to make
// sure the extension objects can find the resource handle for the
// module. If you convert your extension to not be dependent on MFC,
// remove the comments arounn the following AfxGetResourceHandle()
// and DllMain() functions, as well as the g_hInstance global.
static HINSTANCE g_hInstance;
HINSTANCE AFXISAPI AfxGetResourceHandle()
{
return g_hInstance;
}
BOOL WINAPI DllMain(HINSTANCE hInst, ULONG ulReason,
LPVOID lpReserved)
{
if (ulReason == DLL_PROCESS_ATTACH)
{
g_hInstance = hInst;
}
return TRUE;
}
Just for information, I've marked Microsoft Foundation Classes to Use MFC in a shared DLL under General tab. Please help, TIA.
MFC 6.0 uses MFC42*.LIB library files (strange but true). So it seems you link with the correct filenames.
If you get these error messages when you link your project, I guess that either your project file has something wrong, or Visual C++ 6 is not correctly installed. The solution is not to remove these libraries, but to find out why Visual C++ doesn't find them.
Your project is compiling in unicode-debug configuration. Have you installed the unicode libraries when you have installed Visual C++? Maybe this is an opt-in install option (not sure). Can you build your project using another configuration, like release-unicode? Or Debug?
What can help you is to create a new empty Visual C++/MFC project (File/New Project/C++/MFC/MFC Application), so will get a valid MFC project configuration. Be sure to choose Unicode configuration, because this is the configuration you want to use.

Adding htmlhelp to project

I'm trying, without much luck, to add chm options to an existing project.
Main.cpp has this:
#include "HtmlHelp.h"
int OpenHelp(LPTSTR arg1)
{
HWND _Hhdl = HtmlHelp(GetDesktopWindow(), arg1, HH_DISPLAY_TOPIC, NULL);
return 1;
}
htmlhelp.lib is set in Linker/Input/additional Dependencies.
The error I'm getting is:
main.obj : error LNK2019: unresolved external symbol _HtmlHelpW#16 referenced in function "int __cdecl OpenHelp(wchar_t *)" (?OpenHelp##YAHPA_W#Z)
I'm new to C++ so I'm assuming my function is at fault somehow.
The idea was the function would be passed a sting in the "C:\Help.chm\::/Topic.html" format.

lnk2019 visual studio error

I am trying to make a simple UDP socket class to do some talking between a c++ program and a java program so I'm trying to make a socket class that handles all the UDP transmission but I can't get the program to compile because I get about 8 lnk2019 errors and I have no idea what they even mean. I mainly work in Java and only use c++ when I have to lol. I have 3 files the socket header and code. Also the Udp Socket code is from rFactor-Nesim so the socket code isn't written by me.
UdpSocket.cpp
#include "UdpSocket.hpp"
#include <stdio.h>
UdpSocket::UdpSocket(const char* host, int port)
: mHost(host), mPort(port)
{
}
UdpSocket::~UdpSocket(void)
{
}
void UdpSocket::Open()
{
if(WSAStartup(MAKEWORD(2, 0), &mWinsockData) != 0)
fprintf(stderr, "WSAStartup() failed");
if ((mSocket = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
perror("socket() failed");
memset(&mSocketAddress, 0, sizeof(mSocketAddress));
mSocketAddress.sin_family = AF_INET;
mSocketAddress.sin_addr.s_addr = inet_addr(mHost);
mSocketAddress.sin_port = htons(mPort);
}
void UdpSocket::Close()
{
closesocket(mSocket);
WSACleanup();
}
void UdpSocket::Send(char* str, size_t length)
{
size_t result = sendto(mSocket, str, length, 0,
(struct sockaddr *) &mSocketAddress, sizeof(mSocketAddress));
if(result != length)
perror("sendto() sent incorrect number of bytes");
}
UdpSocket.hpp
#ifndef UDPSOCKET_HPP
#define UDPSOCKET_HPP
#include <WinSock.h>
class UdpSocket
{
public:
UdpSocket(const char* host, int port);
~UdpSocket(void);
void Send(char* str, size_t length);
void Open();
void Close();
private:
const char* mHost;
int mPort;
int mSocket;
struct sockaddr_in mSocketAddress;
WSADATA mWinsockData;
};
#endif // UDPSOCKET_HPP
and the main
#include "Socket/UdpSocket.hpp"
#include <iostream>
int Main(){
UdpSocket* testSocket = new UdpSocket("127.0.0.1", 27469);
testSocket->Open();
system("pause");
return 0;
}
Any help would be great. I'm not very strong with c++ but I have done a little bit
Console Ouput:
Error 1 error LNK2019: unresolved external symbol __imp__htons#4 referenced in function "public: void __thiscall UdpSocket::Open(void)" (?Open#UdpSocket##QAEXXZ) UdpSocket.obj SocketTest
Error 2 error LNK2019: unresolved external symbol __imp__inet_addr#4 referenced in function "public: void __thiscall UdpSocket::Open(void)" (?Open#UdpSocket##QAEXXZ) UdpSocket.obj SocketTest
Error 3 error LNK2019: unresolved external symbol __imp__socket#12 referenced in function "public: void __thiscall UdpSocket::Open(void)" (?Open#UdpSocket##QAEXXZ) UdpSocket.obj SocketTest
Error 4 error LNK2019: unresolved external symbol __imp__WSAStartup#8 referenced in function "public: void __thiscall UdpSocket::Open(void)" (?Open#UdpSocket##QAEXXZ) UdpSocket.obj SocketTest
Error 5 error LNK2019: unresolved external symbol __imp__WSACleanup#0 referenced in function "public: void __thiscall UdpSocket::Close(void)" (?Close#UdpSocket##QAEXXZ) UdpSocket.obj SocketTest
Error 6 error LNK2019: unresolved external symbol __imp__closesocket#4 referenced in function "public: void __thiscall UdpSocket::Close(void)" (?Close#UdpSocket##QAEXXZ) UdpSocket.obj SocketTest
Error 7 error LNK2019: unresolved external symbol __imp__sendto#24 referenced in function "public: void __thiscall UdpSocket::Send(char *,unsigned int)" (?Send#UdpSocket##QAEXPADI#Z) UdpSocket.obj SocketTest
Error 8 error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup MSVCRTD.lib SocketTest
Error 9 fatal error LNK1120: 8 unresolved externals C:\Users\Brendan\Documents\Visual Studio 2008\Projects\SocketTest\Debug\SocketTest.exe SocketTest
It sounds like you're failing to link against Winsock - Ws2_32.lib
If you're building from the command line, add Ws2_32.lib to your link command line.
If you're building from Visual Studio, look for linker flags/settings inside a project configuration dialog.
when you have code in several implementation files, you need to compile all those implementation files and pass the resulting object code files to the linker, which combines them (and other stuff) into an executable
it's not enough to include the header of a module
c++ doesn't (yet) have any technical module concept, so including headers does not magically compile implementation files or pass object code files to the linker
this is not part of the c++ standard, but it's part of everyday tool usage
the linker is telling you that you failed to provide it with object code for your class member functions the Winsock library
that object code is provided by the library file, in visual c++ typically with filename extension ".lib"
in general, when you get a mysterious error, just look up the error number in the documentation
in visual studio that's as simple as pressing the F1 key

C++ : wxWidget HelloWorld

When compiling my wxWidget HelloWorld application, I am getting the following errors:
Warning 1 warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library wxWidget__HelloWorld wxWidget__HelloWorld
Error 2 error LNK2001: unresolved external symbol "public: virtual bool __thiscall wxApp::Initialize(int &,wchar_t * *)" (?Initialize#wxApp##UAE_NAAHPAPA_W#Z) minimal.obj wxWidget__HelloWorld
Error 3 error LNK2001: unresolved external symbol "public: virtual void __thiscall wxAppConsole::OnAssertFailure(wchar_t const *,int,wchar_t const *,wchar_t const *,wchar_t const *)" (?OnAssertFailure#wxAppConsole##UAEXPB_WH000#Z) minimal.obj wxWidget__HelloWorld
Error 4 error LNK2001: unresolved external symbol "public: virtual void __thiscall wxAppConsole::OnAssert(wchar_t const *,int,wchar_t const *,wchar_t const *)" (?OnAssert#wxAppConsole##UAEXPB_WH00#Z) minimal.obj wxWidget__HelloWorld
Error 5 error LNK2019: unresolved external symbol "protected: void __thiscall wxStringBase::InitWith(wchar_t const *,unsigned int,unsigned int)" (?InitWith#wxStringBase##IAEXPB_WII#Z) referenced in function "public: __thiscall wxStringBase::wxStringBase(wchar_t const *)" (??0wxStringBase##QAE#PB_W#Z) minimal.obj wxWidget__HelloWorld
Error 6 error LNK2019: unresolved external symbol "public: int __cdecl wxString::Printf(wchar_t const *,...)" (?Printf#wxString##QAAHPB_WZZ) referenced in function "public: void __thiscall MyFrame::OnAbout(class wxCommandEvent &)" (?OnAbout#MyFrame##QAEXAAVwxCommandEvent###Z) minimal.obj wxWidget__HelloWorld
Error 7 error LNK2001: unresolved external symbol "wchar_t const * const wxEmptyString" (?wxEmptyString##3PB_WB) minimal.obj wxWidget__HelloWorld
Error 8 error LNK2001: unresolved external symbol "wchar_t const * const wxStatusLineNameStr" (?wxStatusLineNameStr##3QB_WB) minimal.obj wxWidget__HelloWorld
Error 9 error LNK2001: unresolved external symbol "wchar_t const * const wxFrameNameStr" (?wxFrameNameStr##3QB_WB) minimal.obj wxWidget__HelloWorld
Error 10 error LNK2019: unresolved external symbol "void __cdecl wxOnAssert(wchar_t const *,int,char const *,wchar_t const *,wchar_t const *)" (?wxOnAssert##YAXPB_WHPBD00#Z) referenced in function "public: __thiscall wxStringBase::wxStringBase(class wxStringBase const &)" (??0wxStringBase##QAE#ABV0##Z) minimal.obj wxWidget__HelloWorld
Error 11 fatal error LNK1120: 9 unresolved externals F:\C++\_2008_\wxWidget__HelloWorld\Debug\wxWidget__HelloWorld.exe wxWidget__HelloWorld
My source code is as follows:
//
Name: minimal.cpp
// Purpose: Minimal wxWidgets sample
// Author: Julian Smart
#include "wx/wx.h"
// Declare the application class
class MyApp : public wxApp
{
public:
// Called on application startup
virtual bool OnInit();
};
// Declare our main frame class
class MyFrame : public wxFrame
{
public:
// Constructor
MyFrame(const wxString& title);
// Event handlers
void OnQuit(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event);
private:
// This class handles events
DECLARE_EVENT_TABLE()
};
// Implements MyApp& GetApp()
DECLARE_APP(MyApp)
// Give wxWidgets the means to create a MyApp object
IMPLEMENT_APP(MyApp)
// Initialize the application
bool MyApp::OnInit()
{
// Create the main application window
MyFrame *frame = new MyFrame(wxT("Minimal wxWidgets App"));
// Show it
frame->Show(true);
// Start the event loop
return true;
}
// Event table for MyFrame
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(wxID_ABOUT, MyFrame::OnAbout)
EVT_MENU(wxID_EXIT, MyFrame::OnQuit)
END_EVENT_TABLE()
void MyFrame::OnAbout(wxCommandEvent& event)
{
wxString msg;
msg.Printf(wxT("Hello and welcome to %s"),
wxVERSION_STRING);
wxMessageBox(msg, wxT("About Minimal"),
wxOK | wxICON_INFORMATION, this);
}
void MyFrame::OnQuit(wxCommandEvent& event)
{
// Destroy the frame
Close();
}
#include "mondrian.xpm"
MyFrame::MyFrame(const wxString& title)
: wxFrame(NULL, wxID_ANY, title)
{
// Set the frame icon
SetIcon(wxIcon(mondrian_xpm));
// Create a menu bar
wxMenu *fileMenu = new wxMenu;
// The "About" item should be in the help menu
wxMenu *helpMenu = new wxMenu;
helpMenu->Append(wxID_ABOUT, wxT("&About...\tF1"),
wxT("Show about dialog"));
fileMenu->Append(wxID_EXIT, wxT("E&xit\tAlt-X"),
wxT("Quit this program"));
// Now append the freshly created menu to the menu bar...
wxMenuBar *menuBar = new wxMenuBar();
menuBar->Append(fileMenu, wxT("&File"));
menuBar->Append(helpMenu, wxT("&Help"));
// ... and attach this menu bar to the frame
SetMenuBar(menuBar);
// Create a status bar just for fun
CreateStatusBar(2);
SetStatusText(wxT("Welcome to wxWidgets!"));
}
What is missing?
Make sure you match setting on your project to what all your dependencies are using (actually you should match dependencies :)).
Settings that can cause linking problems with MS toolchain (besides obvious not linking the libraries at all):
Use unicode/multibyte character set
Treat wchar_t as built-in type.
When you know that damn unresolved-wchar_t*-containing-symbol is in the damn library you just linked into, this is probably one of those two.
Runtime (multi/single threaded [debug] [dll]).
This is the reason for your LIBCMTD warning. And for missing/conflicting symbols like __free or malloc or other standard looking things. And for mysterious no reason crashes when crossing dll boundaries, or even on empty place if you somehow manage to link 2 different runtimes into one binary (I've seen it!) .
Suspect preprocessor definitions like _LIB, _DLL, QT_DLL, etc.
Those are used by some libraries to decide if code supposed to be linked statically or dynamically. They usually affect headers that accompany a lib or dll. You have to know if you need them or not. RTFM or look at configs for working example projects for those.
So for your problem, first make sure you add whatever wxWidget libraries you must (and whatever dependencies they need). Search for any of the missing symbols and let google guide you. Somebody would have same problem and would have posted it somewhere before figuring it out themselves.
A good search term is
virtual bool __thiscall wxApp::Initialize
Special care is needed for runtime. When you got all libs you need, but you get libcmt* or msvc* warnings or conflicts then go through all your projects settings and check that 4 items I listed are correct and consistent. You have to know them for dependencies too, if you didn't build them yourself. Use linker verbosity flag too see exactly who brings in unwanted runtime.
Other compiler and linker settings might affect things too, so go with a fine comb through them all.
Most of those changes require clean recompile.
This is the fun of building C++ code.
Looks to me like the error you get when you link you the wrong C Runtime Library. When you build wxWidgets it uses the Multi-threaded DLL option and Multi-threaded Debug DLL options by default for Release and Debug build respectively.
To change this in you app you need to go:
Build->Properties->C/C++->Code Generation and then change the Runtime Library option and rebuild your app.
If you would prefer to statically link against the C Runtime Library so you don't need to DLL you could run a find replace again all of the vcproj files in wxWighets\build\msw and replace
RuntimeLibrary="3" with RuntimeLibrary="1"
and
RuntimeLibrary="2" with RuntimeLibrary="0"
This will change DLL builds as well however and this may not be what you want.