2011-08-18 98 views
0

我將C++ Visual Studio 2005項目轉換爲Visual Studio 2010,並且在此過程中使用了this guide。 我還有一個問題,即鏈接器沒有鏈接本地靜態庫(它不是.NET程序集,而是第三方庫sqsapi32.lib)。我已經包括圖書館sqsapi32.lib在屬性 - >配置屬性 - >連接器 - >輸入 - >附加依賴,但連接保持通知如下警告:C++ Visual Studio 2010未鏈接本機靜態庫

warning LNK4248: unresolved typeref token (01000014) for 'SQLDA'; image may not run 

運行.exe文件產生出現以下錯誤:「程序無法啓動,因爲您的計算機缺少sqsapi32.dll」。

我該如何解決這個問題?它使用Visual Studio 2005.

+0

添加路徑sqsapi32.dll解決了這個問題 – Rotte2

+0

我希望這是無關的鏈接提出警告。檢查我的答案。 – Ajay

回答

2

您顯示的警告和錯誤不一定鏈接(沒有雙關語!)。

爲了解決這個錯誤,請確保將sqsapi32.dll放在與您要運行的exe相同的位置。

祝你好運,

3

由於您使用的是C++/CLI,因此預計鏈接器會發出此警告。有這只是聲明爲許多結構:

struct ABC;

ABC所使用的底層庫(你沒有源代碼),以及ABC由庫您在不透明的方式呈現。您可以通過在源代碼中聲明一個假的結構避免這樣的警告:

struct ABC 
{ 
}; 

因此,對於您的情況:

struct SQLDA{};

將做的工作。

這只是爲了滿足C++/CLI鏈接器,並且不會造成任何傷害。