0

私たちのアプリを VC++6 から VC++ 2010 にアップグレードする任務を負っています。少し時間を費やした後、正常にコンパイルすることができました。ただし、リンクは失敗します:(

The linker error I'm getting is:
Error   33  error LNK2019: unresolved external symbol _SQLConfigDataSource@16       referenced in function "protected: void __thiscall CReportPropertyPage4::OnViewReport(void)" (?OnViewReport@CReportPropertyPage4@@IAEXXZ)   <redacted>\ReportPropertyPages.obj  

私はリンカ エラーのデバッグ経験がないことを最初に認めますが、リンカに適切な .lib ファイルを含める必要があることをオンラインで調査しました。

そこで、先に進んでプロジェクトのプロパティ ページを開き、リンカーの下に移動し、[入力] タブの [追加の依存関係] の下に .lib への参照を追加しました。

$(ProjectDir)\lib\odbccp32.lib (注、実際には .lib のコピーを上記のフォルダーに作成しました)。

しかし、サイコロはありません。

odbcinst.h は、関数 SQLConfigDataSource を定義するファイルです (および含まれています)。

BOOL INSTAPI SQLConfigDataSource     (HWND       hwndParent,
                                      WORD       fRequest,
                                      LPCSTR     lpszDriver,
                                      LPCSTR     lpszAttributes);

そしてそれに関連する私の呼び出し:

            CString strParameters;
            strParameters.Format(
                "DSN=<Redacted> ASCII\0"
                "Description=<Redacted> ASCII\0"
                "CharacterSet=ASCII\0"
                "ColNameHeader=False\0"
                "Format=TabDelimited\0"
                "DEFAULTDIR=%s\0"
                "EXTENSIONS=txt\0\0", strTempDir );

            if( SQLConfigDataSource( NULL, ODBC_ADD_DSN, "Microsoft Text Driver (*.txt; *.csv)",
                strParameters ) )
4

0 に答える 0