2012-04-11 57 views
2

我正在MS Visual Studio 2005中的解決方案中開發子項目。子項目是Windows CE 6.0服務(如DLL),它包含在Windows CE 6.0 OS項目中。在子項目中,我需要使用「ceosutil.lib」中的一些函數(svsutil.hxx是頭文件),但我無法將其鏈接到我的子項目。在構建時,出現以下類型的錯誤:「錯誤LNK2019:無法解析的外部符號」。不能在項目中包含靜態庫

有趣的是,當我將項目類型切換到靜態庫時,它編譯時沒有問題。如果我啓動一個新的DLL項目(獨立的而不是子項目),它也可以工作(「ceosutil.lib」已經列在項目的附加依賴項和所有配置中)。

請幫忙!

回答

2

我已經找到了我自己的問題的答案。解決方案是在子項目屬性的「鏈接」選項卡中將庫的名稱(「空格後添加」)添加到「附加庫」字段中:

在MS Visual Studio 2005中: 右鍵單擊子項目名稱 - >屬性 - >鏈接選項卡 - >其他庫。

默認值爲:$(_PROJECTROOT)\cesysgen\sdk\lib\$(_CPUINDPATH)\coredll.lib

新的價值:$(_PROJECTROOT)\cesysgen\sdk\lib\$(_CPUINDPATH)\coredll.lib ceosutil.lib

更新: 它更容易打開子項目(鼠標右鍵BTN - >打開)和路徑粘貼到在TARGETLIBS庫部分。其結果將是完全一樣的:

TARGETLIBS = \ $ (_ PROJECTROOT)\ CESYSGEN \ SDK \ LIB \ $(_ CPUINDPATH)\ coredll.lib \

相關問題