   Compiling with VS.net 2003 C++
  I made a program that uses OpenGL, OpenIL, and SDL, but on some computers it either says "failed to initialize" or "missing MSVCP71D.dll"; i was wondering if there's a way to compile all the dll's and whatnot inside the exe so no one has to load or install anything before being able to run my program.   
  Inside project properties there's a setting that allows you to link MFC using a static library. I don't have VS2003 on this computer but I'm pretty sure it isn't hidden very deeply.   ;  first of all, the D is debug, you can only ship install release builds on non-development computers ...;  it is on release mode..   ;  after setting to make it a static library, i'm getting these errors:Particle System error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)Particle System error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)Particle System error LNK2005: __isctype already defined in LIBCMTD.lib(isctype.obj)Particle System error LNK2005: _exit already defined in LIBCMTD.lib(crt0dat.obj)Particle System error LNK2005: _fclose already defined in LIBCMTD.lib(fclose.obj)Particle System error LNK2005: _strncpy already defined in LIBCMTD.lib(strncpy.obj);  Looks like it's still using debug libraries. If you were just doing a build, try rebuilding the entire project.   ;  that's not working... but i found in the C++ > preprocessor i have "NDEBUG", should i get rid of that?   ;  Whoops, MSVCP is the C-Runtime library, not MFC, read a little to quickly. Not sure if the "Statically Link MFC" option actually turns this switch on, but you should turn on the /MD/MT [EDIT: See below] compiler switch. Here's more details: LinkSorry my anwsers are a little crummy, I only have VS2003 at work so I can't double check anything while I'm at home.[Edited by - perfectly_dark on June 2, 2006 10:46:08 PM];  alright, that worked, now how would i get rid of these warnings:d:\Stuff\Visual Studio Projects\Particle System\Utility.h(117): warning C4239: nonstandard extension used : 'argument' : conversion from 'Wrath2D::cWUtility::sWVector2D' to 'Wrath2D::cWUtility::sWVector2D &'D:\Program Files\Visual Studio .Net 2003\Vc7\PlatformSDK\Include\WinDef.h(216): warning C4562: fully prototyped functions are required with the '/clr' option: converting '()' to '(void)';  Sorry, you should be using the /MT switch to statically link, /MD links with DLLs. Following the link on the page I gave above explains that you can't use the /clr switch with a statically linked C Runtime Lib. Quote:If you are using the /clr compiler switch, your code will be linked with an import library, msvcmrt.lib. The import library references a new library, msvcm80.dll, which provides a proxy between your managed code and the native CRT. You cannot use the statically linked CRT ( /MT or /MTd options) with /clr. Use the dynamically-linked libraries (/MD or /MDd) instead