April 20, 2012
I have hit a roadblock with my trusty DMC++ and I am hoping someone out there can help me.
I need to link to a .LIB to implement a simple class that uses std::strings and ::vectors.
I tried to convert the LIB to a DMC compatible format but without success.
Please take a look and share suggestions.

Here is a snip of the header file from the vendor.
---------------------
#include <string>
#include <vector>
void SetDynamicLink (void);

class  Galil
{
public:
   Galil(std::string address = "");
   ~Galil();
   static std::vector<std::string> addresses();
};
----------------------------

When I run the .LIB through coffimplib I get a .LIB and .DEF file
>coffimplib galil1.lib galil1_dmc.lib -l -v > galil1_dmc.lib.txt coffimplib galil1.lib galil1_dmc.def -e -v > galil1_dmc.def.txt

My .DEF file says....
----------------
LIBRARY galil1_dmc
EXETYPE NT
SUBSYSTEM WINDOWS
EXPORTS
	??0Galil@@QAE@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z
	??1Galil@@QAE@XZ
	??4Galil@@QAEAAV0@ABV0@@Z
	??_FGalil@@QAEXXZ
	?SetDynamicLink@@YAXXZ
	?addresses@Galil@@SA?AV?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?
$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@XZ
--------------

And when I compile the code...
------------

#include "Galil.H"

void foo() {
	Galil GalilCtrl("");
	};

------------

The linker tells me...
Error 42: Symbol Undefined ??0Galil@@QAE@V?$basic_string@std@DV?$char_traits@std@D@1@V?
$allocator@std@D@1@@std@
   (syscall Galil::Galil(basic_string<>::d::DV?$char_traits::std::D::basic_string<>
,allocator<>::d::D::basic_string<> ))

Thanks in advance!
AndyC