Ditt problem verkar vara att länkaren inte hittar rätt bibliotek för C++ funktionerna ("string" funktioner i ditt fall).
Den JVM du använder, kör den under Cygwin eller direkt under Win32? D.v.s. använder du "java" och "javac" i Cygwin eller kör du med "java.exe" och "javac.exe" som installerats med t.ex. Oracles setup.exe?
Du använder just nu gcc för Cygwin, vilket förutsätter att du också använder Cygwin versionen av Java.
Om du kör med java.exe ska du endera använda MSVC (C/C++ kompilatorn i Visual Studio) eller MinGW versionen av gcc.
Sedan är det massor med saker som man gå fel när man exporterar C++ funktioner från en dll då C++ inte innehåller en binär-specifikation, i.e. en dll byggd med en kompilator kan med största sannolikhet inte används av en annan kompilator. Exportera bara C-funktioner då C även specificerar det binära formatet.