Thinking Out Loud

October 11, 2005

Organization

Filed under: wxWidgets, Tools

Two milestones were met today, things that had to be done even though they weren’t written on my 50+ item to-do list for this project.

First, I organized my code finally. The compiled executables land in the folders wd_msw and vc_msw for wxDev-C++ and Visual C++ 2005 Express beta respectively.


+---doc
+---images
+---include
+---src
+---tests
+---vc_msw
| \---residue
+---wd_msw
| \---obj
\---wxg

My new folder structure supports using the same sources for both wxDev-C++ and Microsoft VC++ 2005 Express. Both compilers and environments use the same source and include folders, despite their vastly different project file format.

Secondly, I finally got my source code to compile on the Microsoft VC++ 2005 Express beta product. The usual suggestion is to copy an existing sample and change the configuration from the GUI. I did in fact use an exising sample as a starting point, but I was having very little luck getting it to compile, plus I was trying to match the paths to my shiny new code organization folder structure, something VC++ Express was loathe to permit. The only thing that worked was opening up that sample vcproj in a text editor and cutting through the project file (flashcard.vcproj) like a madman. The build options are vastly easier to edit in a text editor than in VC++ Express itself.

I blew away all the Configurations except for Release|Win32, and likewise for FileConfigurations. This will undoubtably limit some functionality, it is much easier to edit a 150 line file than to deal with a jillion different build options. I intend to develop in wx-Devcpp and do the final releases in VC++ Express. I compiled wxWidgets 2.6.2 in release mode so I have to do the same for my application.

After removing the sample files from the project and adding the real ones, VC++ Express listed the source files outside of the Source Files list and VC++ compiler was complaining it couldn’t find the header files. I carefully closed VC++ Express and reopened the vcproj file in the text editor and sure enough, the File elements were not inside the Filter element named “Source Files.” So I promptly copied and pasted the text to fix that problem, and suddenly VC++ Express compiled my program into a shiny new executable.

Microsoft says the ProjectGUID property is used by .NET apps, which I don’t care about currently, so I didn’t take care to make it unique.

I found nothing of value in the sample’s solution (.sln) file. This gets created automatically, so it is not needed.

Bottom line is that the mingw compiler (currently required by wxDev-C++) produces a 6 meg executable and the Microsoft one produces a 2 meg executable. For this reason it was worth the effort.

This is what my Visual C++ Express project file looks like:


<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="flashcard"
ProjectGUID="{9111E5D3-29DD-4A71-98AA-A820A318CA99}"
RootNamespace="flashcard"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Release|Win32"
OutputDirectory="."
IntermediateDirectory=".\residue"
ConfigurationType="1"
InheritedPropertySheets="UpgradeFromVC60.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="WIN32,__WXMSW__,_WINDOWS,NOPCH"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\residue/flashcard.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/EHsc "
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="$(WXWIN)\include,$(WXWIN)\lib\vc_lib\msw,.,$(WXWIN)\samples,..\include"
PreprocessorDefinitions="WIN32;__WXMSW__;_WINDOWS;NOPCH"
StringPooling="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
RuntimeTypeInfo="true"
PrecompiledHeaderFile=".\residue/flashcard.pch"
AssemblerListingLocation=".\residue/"
ObjectFile=".\residue/"
ProgramDataBaseFileName=".\residue\flashcard.pdb"
WarningLevel="4"
SuppressStartupBanner="true"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="__WXMSW__,_WINDOWS,NOPCH"
Culture="1033"
AdditionalIncludeDirectories="$(WXWIN)\include,$(WXWIN)\lib\vc_lib\msw,.,$(WXWIN)\samples"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="wxmsw26_core.lib wxmsw26_adv.lib wxmsw26_xrc.lib wxmsw26_html.lib wxbase26.lib wxbase26_xml.lib wxexpat.lib wxpng.lib wxjpeg.lib wxtiff.lib wxzlib.lib wxregex.lib winmm.lib comctl32.lib rpcrt4.lib wsock32.lib oleacc.lib odbc32.lib"
OutputFile=".\CardGriLa.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="$(WXWIN)\lib\vc_lib"
ProgramDatabaseFile=".\residue/cardgrila.pdb"
SubSystem="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\residue/cardgrila.bsc"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
>
<File
RelativePath="..\src\flashcard-res.cpp"
>
</File>
<File
RelativePath="..\src\frmLearn.cpp"
>
</File>
<File
RelativePath="..\src\main.cpp"
>
</File>
<File
RelativePath="..\src\ryanssplit.cpp"
>
</File>
<File
RelativePath="..\src\tcard.cpp"
>
</File>
<File
RelativePath="..\src\tcardlist.cpp"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

October 10, 2005

What’s in your lib?

Filed under: wxWidgets, Tools


for %f in (C:\WX262\lib\vc_lib\*.lib) do echo "%f" contains the following object files >>xyztest.txt & lib %f /list /verbose /nologo >>xyztest.txt & echo.>>xyztest.txt

This command creates the following contents for xyztest.txt on my system. Posted for my own reference.


"C:\WX262\lib\vc_lib\wxbase26.lib" contains the following object files
.\vc_msw\base\appbase.obj
.\vc_msw\base\archive.obj
.\vc_msw\base\clntdata.obj
.\vc_msw\base\cmdline.obj
.\vc_msw\base\config.obj
.\vc_msw\base\datetime.obj
.\vc_msw\base\datstrm.obj
.\vc_msw\base\dircmn.obj
.\vc_msw\base\dynarray.obj
.\vc_msw\base\dynlib.obj
.\vc_msw\base\dynload.obj
.\vc_msw\base\encconv.obj
.\vc_msw\base\event.obj
.\vc_msw\base\extended.obj
.\vc_msw\base\ffile.obj
.\vc_msw\base\file.obj
.\vc_msw\base\fileconf.obj
.\vc_msw\base\filefn.obj
.\vc_msw\base\filename.obj
.\vc_msw\base\filesys.obj
.\vc_msw\base\fmapbase.obj
.\vc_msw\base\fs_mem.obj
.\vc_msw\base\fs_zip.obj
.\vc_msw\base\hash.obj
.\vc_msw\base\hashmap.obj
.\vc_msw\base\init.obj
.\vc_msw\base\intl.obj
.\vc_msw\base\ipcbase.obj
.\vc_msw\base\list.obj
.\vc_msw\base\log.obj
.\vc_msw\base\longlong.obj
.\vc_msw\base\memory.obj
.\vc_msw\base\mimecmn.obj
.\vc_msw\base\module.obj
.\vc_msw\base\msgout.obj
.\vc_msw\base\mstream.obj
.\vc_msw\base\object.obj
.\vc_msw\base\process.obj
.\vc_msw\base\regex.obj
.\vc_msw\base\sstream.obj
.\vc_msw\base\stdpbase.obj
.\vc_msw\base\stopwatch.obj
.\vc_msw\base\strconv.obj
.\vc_msw\base\stream.obj
.\vc_msw\base\string.obj
.\vc_msw\base\sysopt.obj
.\vc_msw\base\textbuf.obj
.\vc_msw\base\textfile.obj
.\vc_msw\base\tokenzr.obj
.\vc_msw\base\txtstrm.obj
.\vc_msw\base\uri.obj
.\vc_msw\base\utilscmn.obj
.\vc_msw\base\variant.obj
.\vc_msw\base\wfstream.obj
.\vc_msw\base\wxchar.obj
.\vc_msw\base\xti.obj
.\vc_msw\base\xtistrm.obj
.\vc_msw\base\zipstrm.obj
.\vc_msw\base\zstream.obj
.\vc_msw\base\basemsw.obj
.\vc_msw\base\crashrpt.obj
.\vc_msw\base\dde.obj
.\vc_msw\base\debughlp.obj
.\vc_msw\base\dir.obj
.\vc_msw\base\dlmsw.obj
.\vc_msw\base\dummy.obj
.\vc_msw\base\main.obj
.\vc_msw\base\mimetype.obj
.\vc_msw\base\mslu.obj
.\vc_msw\base\regconf.obj
.\vc_msw\base\registry.obj
.\vc_msw\base\snglinst.obj
.\vc_msw\base\stackwalk.obj
.\vc_msw\base\stdpaths.obj
.\vc_msw\base\thread.obj
.\vc_msw\base\utils.obj
.\vc_msw\base\utilsexc.obj
.\vc_msw\base\volume.obj

"C:\WX262\lib\vc_lib\wxbase26_net.lib" contains the following object files
.\vc_msw\net\fs_inet.obj
.\vc_msw\net\ftp.obj
.\vc_msw\net\http.obj
.\vc_msw\net\protocol.obj
.\vc_msw\net\sckaddr.obj
.\vc_msw\net\sckfile.obj
.\vc_msw\net\sckipc.obj
.\vc_msw\net\sckstrm.obj
.\vc_msw\net\socket.obj
.\vc_msw\net\url.obj
.\vc_msw\net\dummy.obj
.\vc_msw\net\gsocket.obj
.\vc_msw\net\urlmsw.obj

"C:\WX262\lib\vc_lib\wxbase26_odbc.lib" contains the following object files
.\vc_msw\odbc\db.obj
.\vc_msw\odbc\dbtable.obj
.\vc_msw\odbc\dummy.obj

"C:\WX262\lib\vc_lib\wxbase26_xml.lib" contains the following object files
.\vc_msw\xml\xtixml.obj
.\vc_msw\xml\dummy.obj
.\vc_msw\xml\xml.obj

"C:\WX262\lib\vc_lib\wxexpat.lib" contains the following object files
.\vc_msw\wxexpat\xmlparse.obj
.\vc_msw\wxexpat\xmlrole.obj
.\vc_msw\wxexpat\xmltok.obj

"C:\WX262\lib\vc_lib\wxjpeg.lib" contains the following object files
.\vc_msw\wxjpeg\jcapimin.obj
.\vc_msw\wxjpeg\jcapistd.obj
.\vc_msw\wxjpeg\jccoefct.obj
.\vc_msw\wxjpeg\jccolor.obj
.\vc_msw\wxjpeg\jcdctmgr.obj
.\vc_msw\wxjpeg\jchuff.obj
.\vc_msw\wxjpeg\jcinit.obj
.\vc_msw\wxjpeg\jcmainct.obj
.\vc_msw\wxjpeg\jcmarker.obj
.\vc_msw\wxjpeg\jcmaster.obj
.\vc_msw\wxjpeg\jcomapi.obj
.\vc_msw\wxjpeg\jcparam.obj
.\vc_msw\wxjpeg\jcphuff.obj
.\vc_msw\wxjpeg\jcprepct.obj
.\vc_msw\wxjpeg\jcsample.obj
.\vc_msw\wxjpeg\jctrans.obj
.\vc_msw\wxjpeg\jdapimin.obj
.\vc_msw\wxjpeg\jdapistd.obj
.\vc_msw\wxjpeg\jdatadst.obj
.\vc_msw\wxjpeg\jdatasrc.obj
.\vc_msw\wxjpeg\jdcoefct.obj
.\vc_msw\wxjpeg\jdcolor.obj
.\vc_msw\wxjpeg\jddctmgr.obj
.\vc_msw\wxjpeg\jdhuff.obj
.\vc_msw\wxjpeg\jdinput.obj
.\vc_msw\wxjpeg\jdmainct.obj
.\vc_msw\wxjpeg\jdmarker.obj
.\vc_msw\wxjpeg\jdmaster.obj
.\vc_msw\wxjpeg\jdmerge.obj
.\vc_msw\wxjpeg\jdphuff.obj
.\vc_msw\wxjpeg\jdpostct.obj
.\vc_msw\wxjpeg\jdsample.obj
.\vc_msw\wxjpeg\jdtrans.obj
.\vc_msw\wxjpeg\jerror.obj
.\vc_msw\wxjpeg\jfdctflt.obj
.\vc_msw\wxjpeg\jfdctfst.obj
.\vc_msw\wxjpeg\jfdctint.obj
.\vc_msw\wxjpeg\jidctflt.obj
.\vc_msw\wxjpeg\jidctfst.obj
.\vc_msw\wxjpeg\jidctint.obj
.\vc_msw\wxjpeg\jidctred.obj
.\vc_msw\wxjpeg\jmemmgr.obj
.\vc_msw\wxjpeg\jmemnobs.obj
.\vc_msw\wxjpeg\jquant1.obj
.\vc_msw\wxjpeg\jquant2.obj
.\vc_msw\wxjpeg\jutils.obj

"C:\WX262\lib\vc_lib\wxmsw26_adv.lib" contains the following object files
.\vc_msw\adv\taskbarcmn.obj
.\vc_msw\adv\datectrl.obj
.\vc_msw\adv\dummy.obj
.\vc_msw\adv\joystick.obj
.\vc_msw\adv\sound.obj
.\vc_msw\adv\taskbar.obj
.\vc_msw\adv\calctrl.obj
.\vc_msw\adv\datectlg.obj
.\vc_msw\adv\grid.obj
.\vc_msw\adv\gridctrl.obj
.\vc_msw\adv\gridsel.obj
.\vc_msw\adv\helpext.obj
.\vc_msw\adv\laywin.obj
.\vc_msw\adv\propdlg.obj
.\vc_msw\adv\sashwin.obj
.\vc_msw\adv\splash.obj
.\vc_msw\adv\tipdlg.obj
.\vc_msw\adv\wizard.obj

"C:\WX262\lib\vc_lib\wxmsw26_core.lib" contains the following object files
.\vc_msw\core\accesscmn.obj
.\vc_msw\core\appcmn.obj
.\vc_msw\core\artprov.obj
.\vc_msw\core\artstd.obj
.\vc_msw\core\bmpbase.obj
.\vc_msw\core\bookctrl.obj
.\vc_msw\core\choiccmn.obj
.\vc_msw\core\clipcmn.obj
.\vc_msw\core\cmdproc.obj
.\vc_msw\core\cmndata.obj
.\vc_msw\core\containr.obj
.\vc_msw\core\cshelp.obj
.\vc_msw\core\ctrlcmn.obj
.\vc_msw\core\ctrlsub.obj
.\vc_msw\core\datacmn.obj
.\vc_msw\core\dcbase.obj
.\vc_msw\core\dlgcmn.obj
.\vc_msw\core\dndcmn.obj
.\vc_msw\core\dobjcmn.obj
.\vc_msw\core\docmdi.obj
.\vc_msw\core\docview.obj
.\vc_msw\core\dpycmn.obj
.\vc_msw\core\dseldlg.obj
.\vc_msw\core\effects.obj
.\vc_msw\core\event.obj
.\vc_msw\core\fddlgcmn.obj
.\vc_msw\core\fldlgcmn.obj
.\vc_msw\core\fontcmn.obj
.\vc_msw\core\fontmap.obj
.\vc_msw\core\framecmn.obj
.\vc_msw\core\fs_mem.obj
.\vc_msw\core\gaugecmn.obj
.\vc_msw\core\gbsizer.obj
.\vc_msw\core\gdicmn.obj
.\vc_msw\core\geometry.obj
.\vc_msw\core\gifdecod.obj
.\vc_msw\core\helpbase.obj
.\vc_msw\core\iconbndl.obj
.\vc_msw\core\imagall.obj
.\vc_msw\core\imagbmp.obj
.\vc_msw\core\image.obj
.\vc_msw\core\imagfill.obj
.\vc_msw\core\imaggif.obj
.\vc_msw\core\imagiff.obj
.\vc_msw\core\imagjpeg.obj
.\vc_msw\core\imagpcx.obj
.\vc_msw\core\imagpng.obj
.\vc_msw\core\imagpnm.obj
.\vc_msw\core\imagtiff.obj
.\vc_msw\core\imagxpm.obj
.\vc_msw\core\layout.obj
.\vc_msw\core\lboxcmn.obj
.\vc_msw\core\matrix.obj
.\vc_msw\core\menucmn.obj
.\vc_msw\core\msgout.obj
.\vc_msw\core\nbkbase.obj
.\vc_msw\core\paper.obj
.\vc_msw\core\popupcmn.obj
.\vc_msw\core\prntbase.obj
.\vc_msw\core\quantize.obj
.\vc_msw\core\radiocmn.obj
.\vc_msw\core\rendcmn.obj
.\vc_msw\core\rgncmn.obj
.\vc_msw\core\settcmn.obj
.\vc_msw\core\sizer.obj
.\vc_msw\core\statbar.obj
.\vc_msw\core\stockitem.obj
.\vc_msw\core\tbarbase.obj
.\vc_msw\core\textcmn.obj
.\vc_msw\core\timercmn.obj
.\vc_msw\core\toplvcmn.obj
.\vc_msw\core\treebase.obj
.\vc_msw\core\utilscmn.obj
.\vc_msw\core\valgen.obj
.\vc_msw\core\validate.obj
.\vc_msw\core\valtext.obj
.\vc_msw\core\wincmn.obj
.\vc_msw\core\xpmdecod.obj
.\vc_msw\core\accel.obj
.\vc_msw\core\access.obj
.\vc_msw\core\app.obj
.\vc_msw\core\automtn.obj
.\vc_msw\core\bitmap.obj
.\vc_msw\core\bmpbuttn.obj
.\vc_msw\core\brush.obj
.\vc_msw\core\button.obj
.\vc_msw\core\caret.obj
.\vc_msw\core\checkbox.obj
.\vc_msw\core\checklst.obj
.\vc_msw\core\choice.obj
.\vc_msw\core\clipbrd.obj
.\vc_msw\core\colordlg.obj
.\vc_msw\core\colour.obj
.\vc_msw\core\combobox.obj
.\vc_msw\core\control.obj
.\vc_msw\core\cursor.obj
.\vc_msw\core\data.obj
.\vc_msw\core\dataobj.obj
.\vc_msw\core\dc.obj
.\vc_msw\core\dcclient.obj
.\vc_msw\core\dcmemory.obj
.\vc_msw\core\dcprint.obj
.\vc_msw\core\dcscreen.obj
.\vc_msw\core\dialog.obj
.\vc_msw\core\dialup.obj
.\vc_msw\core\dib.obj
.\vc_msw\core\dirdlg.obj
.\vc_msw\core\display.obj
.\vc_msw\core\dragimag.obj
.\vc_msw\core\dropsrc.obj
.\vc_msw\core\droptgt.obj
.\vc_msw\core\dummy.obj
.\vc_msw\core\enhmeta.obj
.\vc_msw\core\evtloop.obj
.\vc_msw\core\fdrepdlg.obj
.\vc_msw\core\filedlg.obj
.\vc_msw\core\font.obj
.\vc_msw\core\fontdlg.obj
.\vc_msw\core\fontenum.obj
.\vc_msw\core\fontutil.obj
.\vc_msw\core\frame.obj
.\vc_msw\core\gauge95.obj
.\vc_msw\core\gdiimage.obj
.\vc_msw\core\gdiobj.obj
.\vc_msw\core\gsockmsw.obj
.\vc_msw\core\helpchm.obj
.\vc_msw\core\helpwin.obj
.\vc_msw\core\icon.obj
.\vc_msw\core\imaglist.obj
.\vc_msw\core\iniconf.obj
.\vc_msw\core\listbox.obj
.\vc_msw\core\listctrl.obj
.\vc_msw\core\main.obj
.\vc_msw\core\mdi.obj
.\vc_msw\core\menu.obj
.\vc_msw\core\menuitem.obj
.\vc_msw\core\metafile.obj
.\vc_msw\core\minifram.obj
.\vc_msw\core\msgdlg.obj
.\vc_msw\core\mslu.obj
.\vc_msw\core\nativdlg.obj
.\vc_msw\core\notebook.obj
.\vc_msw\core\oleutils.obj
.\vc_msw\core\ownerdrw.obj
.\vc_msw\core\palette.obj
.\vc_msw\core\pen.obj
.\vc_msw\core\popupwin.obj
.\vc_msw\core\printdlg.obj
.\vc_msw\core\printwin.obj
.\vc_msw\core\radiobox.obj
.\vc_msw\core\radiobut.obj
.\vc_msw\core\region.obj
.\vc_msw\core\renderer.obj
.\vc_msw\core\scrolbar.obj
.\vc_msw\core\settings.obj
.\vc_msw\core\slider95.obj
.\vc_msw\core\spinbutt.obj
.\vc_msw\core\spinctrl.obj
.\vc_msw\core\statbmp.obj
.\vc_msw\core\statbox.obj
.\vc_msw\core\statbr95.obj
.\vc_msw\core\statline.obj
.\vc_msw\core\stattext.obj
.\vc_msw\core\tabctrl.obj
.\vc_msw\core\tbar95.obj
.\vc_msw\core\textctrl.obj
.\vc_msw\core\tglbtn.obj
.\vc_msw\core\timer.obj
.\vc_msw\core\tooltip.obj
.\vc_msw\core\toplevel.obj
.\vc_msw\core\treectrl.obj
.\vc_msw\core\utilsgui.obj
.\vc_msw\core\uuid.obj
.\vc_msw\core\uxtheme.obj
.\vc_msw\core\volume.obj
.\vc_msw\core\window.obj
.\vc_msw\core\busyinfo.obj
.\vc_msw\core\choicbkg.obj
.\vc_msw\core\choicdgg.obj
.\vc_msw\core\dcpsg.obj
.\vc_msw\core\dirctrlg.obj
.\vc_msw\core\dragimgg.obj
.\vc_msw\core\listbkg.obj
.\vc_msw\core\logg.obj
.\vc_msw\core\numdlgg.obj
.\vc_msw\core\panelg.obj
.\vc_msw\core\printps.obj
.\vc_msw\core\prntdlgg.obj
.\vc_msw\core\progdlgg.obj
.\vc_msw\core\renderg.obj
.\vc_msw\core\scrlwing.obj
.\vc_msw\core\selstore.obj
.\vc_msw\core\spinctlg.obj
.\vc_msw\core\splitter.obj
.\vc_msw\core\statusbr.obj
.\vc_msw\core\textdlgg.obj
.\vc_msw\core\tipwin.obj
.\vc_msw\core\treectlg.obj
.\vc_msw\core\vlbox.obj
.\vc_msw\core\vscroll.obj

"C:\WX262\lib\vc_lib\wxmsw26_dbgrid.lib" contains the following object files
.\vc_msw\dbgrid\dbgrid.obj
.\vc_msw\dbgrid\dummy.obj

"C:\WX262\lib\vc_lib\wxmsw26_gl.lib" contains the following object files
.\vc_msw\gl\dummy.obj
.\vc_msw\gl\glcanvas.obj

"C:\WX262\lib\vc_lib\wxmsw26_html.lib" contains the following object files
.\vc_msw\html\dummy.obj
.\vc_msw\html\helpbest.obj
.\vc_msw\html\htmllbox.obj
.\vc_msw\html\helpctrl.obj
.\vc_msw\html\helpdata.obj
.\vc_msw\html\helpfrm.obj
.\vc_msw\html\htmlcell.obj
.\vc_msw\html\htmlfilt.obj
.\vc_msw\html\htmlpars.obj
.\vc_msw\html\htmltag.obj
.\vc_msw\html\htmlwin.obj
.\vc_msw\html\htmprint.obj
.\vc_msw\html\m_dflist.obj
.\vc_msw\html\m_fonts.obj
.\vc_msw\html\m_hline.obj
.\vc_msw\html\m_image.obj
.\vc_msw\html\m_layout.obj
.\vc_msw\html\m_links.obj
.\vc_msw\html\m_list.obj
.\vc_msw\html\m_pre.obj
.\vc_msw\html\m_style.obj
.\vc_msw\html\m_tables.obj
.\vc_msw\html\winpars.obj

"C:\WX262\lib\vc_lib\wxmsw26_media.lib" contains the following object files
.\vc_msw\media\mediactrlcmn.obj
.\vc_msw\media\activex.obj
.\vc_msw\media\dummy.obj
.\vc_msw\media\mediactrl.obj

"C:\WX262\lib\vc_lib\wxmsw26_qa.lib" contains the following object files
.\vc_msw\qa\debugrpt.obj
.\vc_msw\qa\dummy.obj
.\vc_msw\qa\dbgrptg.obj

"C:\WX262\lib\vc_lib\wxmsw26_xrc.lib" contains the following object files
.\vc_msw\xrc\dummy.obj
.\vc_msw\xrc\xh_bmp.obj
.\vc_msw\xrc\xh_bmpbt.obj
.\vc_msw\xrc\xh_bttn.obj
.\vc_msw\xrc\xh_cald.obj
.\vc_msw\xrc\xh_chckb.obj
.\vc_msw\xrc\xh_chckl.obj
.\vc_msw\xrc\xh_choic.obj
.\vc_msw\xrc\xh_choicbk.obj
.\vc_msw\xrc\xh_combo.obj
.\vc_msw\xrc\xh_datectrl.obj
.\vc_msw\xrc\xh_dlg.obj
.\vc_msw\xrc\xh_frame.obj
.\vc_msw\xrc\xh_gauge.obj
.\vc_msw\xrc\xh_gdctl.obj
.\vc_msw\xrc\xh_html.obj
.\vc_msw\xrc\xh_listb.obj
.\vc_msw\xrc\xh_listbk.obj
.\vc_msw\xrc\xh_listc.obj
.\vc_msw\xrc\xh_mdi.obj
.\vc_msw\xrc\xh_menu.obj
.\vc_msw\xrc\xh_notbk.obj
.\vc_msw\xrc\xh_panel.obj
.\vc_msw\xrc\xh_radbt.obj
.\vc_msw\xrc\xh_radbx.obj
.\vc_msw\xrc\xh_scrol.obj
.\vc_msw\xrc\xh_scwin.obj
.\vc_msw\xrc\xh_sizer.obj
.\vc_msw\xrc\xh_slidr.obj
.\vc_msw\xrc\xh_spin.obj
.\vc_msw\xrc\xh_split.obj
.\vc_msw\xrc\xh_statbar.obj
.\vc_msw\xrc\xh_stbmp.obj
.\vc_msw\xrc\xh_stbox.obj
.\vc_msw\xrc\xh_stlin.obj
.\vc_msw\xrc\xh_sttxt.obj
.\vc_msw\xrc\xh_text.obj
.\vc_msw\xrc\xh_tglbtn.obj
.\vc_msw\xrc\xh_toolb.obj
.\vc_msw\xrc\xh_tree.obj
.\vc_msw\xrc\xh_unkwn.obj
.\vc_msw\xrc\xh_wizrd.obj
.\vc_msw\xrc\xmlres.obj
.\vc_msw\xrc\xmlrsall.obj

"C:\WX262\lib\vc_lib\wxpng.lib" contains the following object files
.\vc_msw\wxpng\png.obj
.\vc_msw\wxpng\pngerror.obj
.\vc_msw\wxpng\pnggccrd.obj
.\vc_msw\wxpng\pngget.obj
.\vc_msw\wxpng\pngmem.obj
.\vc_msw\wxpng\pngpread.obj
.\vc_msw\wxpng\pngread.obj
.\vc_msw\wxpng\pngrio.obj
.\vc_msw\wxpng\pngrtran.obj
.\vc_msw\wxpng\pngrutil.obj
.\vc_msw\wxpng\pngset.obj
.\vc_msw\wxpng\pngtrans.obj
.\vc_msw\wxpng\pngvcrd.obj
.\vc_msw\wxpng\pngwio.obj
.\vc_msw\wxpng\pngwrite.obj
.\vc_msw\wxpng\pngwtran.obj
.\vc_msw\wxpng\pngwutil.obj

"C:\WX262\lib\vc_lib\wxregex.lib" contains the following object files
.\vc_msw\wxregex\regcomp.obj
.\vc_msw\wxregex\regerror.obj
.\vc_msw\wxregex\regexec.obj
.\vc_msw\wxregex\regfree.obj

"C:\WX262\lib\vc_lib\wxtiff.lib" contains the following object files
.\vc_msw\wxtiff\tif_aux.obj
.\vc_msw\wxtiff\tif_close.obj
.\vc_msw\wxtiff\tif_codec.obj
.\vc_msw\wxtiff\tif_color.obj
.\vc_msw\wxtiff\tif_compress.obj
.\vc_msw\wxtiff\tif_dir.obj
.\vc_msw\wxtiff\tif_dirinfo.obj
.\vc_msw\wxtiff\tif_dirread.obj
.\vc_msw\wxtiff\tif_dirwrite.obj
.\vc_msw\wxtiff\tif_dumpmode.obj
.\vc_msw\wxtiff\tif_error.obj
.\vc_msw\wxtiff\tif_extension.obj
.\vc_msw\wxtiff\tif_fax3.obj
.\vc_msw\wxtiff\tif_fax3sm.obj
.\vc_msw\wxtiff\tif_flush.obj
.\vc_msw\wxtiff\tif_getimage.obj
.\vc_msw\wxtiff\tif_jpeg.obj
.\vc_msw\wxtiff\tif_luv.obj
.\vc_msw\wxtiff\tif_lzw.obj
.\vc_msw\wxtiff\tif_next.obj
.\vc_msw\wxtiff\tif_open.obj
.\vc_msw\wxtiff\tif_packbits.obj
.\vc_msw\wxtiff\tif_pixarlog.obj
.\vc_msw\wxtiff\tif_predict.obj
.\vc_msw\wxtiff\tif_print.obj
.\vc_msw\wxtiff\tif_read.obj
.\vc_msw\wxtiff\tif_strip.obj
.\vc_msw\wxtiff\tif_swab.obj
.\vc_msw\wxtiff\tif_thunder.obj
.\vc_msw\wxtiff\tif_tile.obj
.\vc_msw\wxtiff\tif_version.obj
.\vc_msw\wxtiff\tif_warning.obj
.\vc_msw\wxtiff\tif_win32.obj
.\vc_msw\wxtiff\tif_write.obj
.\vc_msw\wxtiff\tif_zip.obj

"C:\WX262\lib\vc_lib\wxzlib.lib" contains the following object files
.\vc_msw\wxzlib\adler32.obj
.\vc_msw\wxzlib\compress.obj
.\vc_msw\wxzlib\crc32.obj
.\vc_msw\wxzlib\deflate.obj
.\vc_msw\wxzlib\gzio.obj
.\vc_msw\wxzlib\infback.obj
.\vc_msw\wxzlib\inffast.obj
.\vc_msw\wxzlib\inflate.obj
.\vc_msw\wxzlib\inftrees.obj
.\vc_msw\wxzlib\trees.obj
.\vc_msw\wxzlib\uncompr.obj
.\vc_msw\wxzlib\zutil.obj

October 6, 2005

Granule

Filed under: Alternatives

This post has been updated. See bottom of post. 

Granule is another Leitner flashcard system I found, this time for Linux. Looks slick, based on the screenshots and extensive documentation. It even documents its own XML file format.

UPDATED November 1, 2007: Watch out, Granule has been ported to Windows!  I look forward to trying it. 

 

October 2, 2005

CueCard

Filed under: wxWidgets, Alternatives

CueCard is a freeware flashcard program with source code available. Since it was written using the wxWidgets (formerly wxWindows) application framework, which is what I am using, I downloaded the source and executable for a closer look.

Instead of Leitner sorting of cards presented, it has its own way of taking missed answers into account. The design is very clean, it doesn't require looking at any help file at all. It influenced me to take care of the user interface in my flashcard game. So far the source code hasn't influenced me much, but I want to take a look at his Unicode support because that’s important.

The one I am writing wants to be a commercial project, although with a hobbyist time frame unfortunately. I will try to always keep "light" versions as freeware. I am not planning a free release of the complete source code of either version. I don’t expect it to be a blockbuster app, just enough to keep me from chasing nickels on Blogger. (The Google ads on this page are not mine, they help keep the blogsome.com service free.)

Smart quotes

Filed under: Blogsome

This post has been updated (finally). See last paragraph.

Dave said, "This is a test of killing off those sickening ’smart quotes’ which I don’t need." Blogsome and Wordpress apparently default to converting all quotes to so called smart quotes. One problem is Verdana (and potentially other web fonts) doesn’t really have decent smart quotes, they look like a superscript version of \\ and //, which in turn makes it look like the page was generated by a backwater perl script. The only workaround I have found is to use &34; every time I need a double quote and &39; every time I need an apostrophe. I don’t have time for this horse hit. I looked at the Blogsome plugins page but there’s nothing activated that would cause this, also I looked at css but I couldn’t get it to work.

UPDATE Nov 1, 2006: This is no longer an "issue" (entered normally) when using the WYSI-Wordpress plugin, which I am. There is also a WP Unformatted plugin available that addresses the smartquotes issue specifically.






















Get free blog up and running in minutes with Blogsome | Theme designs available here