2011-01-11 72 views
1

這是我第一次嘗試構建一個C++應用程序,所以我有點迷路。我看了一些例子,但我仍然不知道什麼是錯的。在C++中使用PCRE的幫助

#include <iostream> 
#include <stdio.h> 
#include <windows.h> 
#include <pcrecpp.h> 
#include <string> 
#include <cstring> 

using namespace std; 

int main() 
{ 
    char title[256]; 
    char url[256]; 
    string song, diff; 
    HWND hwnd = FindWindow("WindowsForms10.Window.8.app.0.33c0d9d", NULL); 
    GetWindowTextA(hwnd, title, 255); 
    pcrecpp::RE re("^osu! - (.*) \\[(.*)\\] \\[[|-]{21}\\]$"); 
    re.FullMatch(title, &song, &diff); 
    sprintf(url, "xfire:game_stats?game=%s&%s=%s&%s=%s", "osu", "Playing", song.c_str(), "Difficulty", diff.c_str()); 
    ShellExecute(NULL, NULL, url, NULL, NULL, SW_SHOWDEFAULT); 
    return 0; 
} 

當我嘗試編譯,我得到以下編譯器錯誤

obj\Debug\main.o||In function 'main':| C:\Users\Zeffy\Desktop\osu-gamestats\main.cpp|18|undefined reference to '_imp___ZN7pcrecpp2RE6no_argE'| C:\Users\Zeffy\Desktop\osu-gamestats\main.cpp|18|undefined reference to '_imp___ZN7pcrecpp2RE6no_argE'| C:\Users\Zeffy\Desktop\osu-gamestats\main.cpp|18|undefined reference to '_imp___ZN7pcrecpp2RE6no_argE'| C:\Users\Zeffy\Desktop\osu-gamestats\main.cpp|18|undefined reference to '_imp___ZN7pcrecpp2RE6no_argE'| C:\Users\Zeffy\Desktop\osu-gamestats\main.cpp|18|undefined reference to '_imp___ZN7pcrecpp2RE6no_argE'| obj\Debug\main.o:C:\Users\Zeffy\Desktop\osu-gamestats\main.cpp|18|more undefined references to '_imp___ZN7pcrecpp2RE6no_argE' follow| obj\Debug\main.o||In function 'main':| C:\Users\Zeffy\Desktop\osu-gamestats\main.cpp|18|undefined reference to '_imp___ZNK7pcrecpp2RE9FullMatchERKNS_11StringPieceERKNS_3ArgES6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_S6_'| C:\Users\Zeffy\Desktop\osu-gamestats\main.cpp|17|undefined reference to '_imp___ZN7pcrecpp2RED1Ev'| C:\Users\Zeffy\Desktop\osu-gamestats\main.cpp|17|undefined reference to '_imp___ZN7pcrecpp2RED1Ev'| obj\Debug\main.o||In function 'Arg':| C:\MinGW\msys\1.0\local\include\pcrecpparg.h|89|undefined reference to '_imp___ZN7pcrecpp3Arg12parse_stringEPKciPv'| obj\Debug\main.o||In function 'RE':| C:\MinGW\msys\1.0\local\include\pcrecpp.h|493|undefined reference to '_imp___ZN7pcrecpp2RE4InitERKSsPKNS_10RE_OptionsE'| ||=== Build finished: 11 errors, 0 warnings ===|

回答

5

_imp___ZN7pcrecpp2RE6no_argE是一個錯位的名稱。由於它包含零件pcrecppno_arg,我懷疑問題是您無法鏈接到Pcrecpp。因此,no_arg符號未定義。