![](/img/trans.png)
[英]Visual Studio 2013 C++ link static library glew, glfw on virtual machine
[英]link static library in c++ visual studio
有人可以幫我理解這個過程嗎?
在C ++ Visual Studio 2010中
我有一個Visual Studio解決方案(我們稱其為mysol)
我有一個構建為靜態庫的項目(將其稱為staticprj)staticprj需要從外部使用一個庫(將其稱為ext.lib)
在staticprj源代碼的主體中,我使用#include extlib.h包含外部庫頭文件,並對其某些函數進行調用(將其稱為extfunctions()),我還包括指向頭文件位置的路徑。 ext.lib。
staticprj可以編譯,沒有錯誤
mysol還有另一個項目是動態庫(dynprj),它依賴於staticprj。
dynprj的源文件中也使用外部庫中的函數。
我已在dynprj的源代碼中包含#include extlib.h。 我已經包含了頭文件的路徑,我已經將extlib.h直接附加到dynprj,我還已經將ext.lib添加到鏈接器輸入中(以及ext.lib所在的路徑)。
我仍然收到lnk2001錯誤,指出未找到extfunctions()。
如果我根本不使用ext.lib,則整個結構(mysol解決方案)可以編譯。
我的問題是鏈接過程如何工作,我該怎么做才能糾正此鏈接錯誤。
(請注意,在沒有ext.lib的情況下,我對staticprj和dynprj的鏈接很好。我的編譯正常,代碼也行。我僅在嘗試將另一個ext.lib鏈接到staticprj和dynprj並使用時才出現鏈接錯誤ext.lib中的函數)
提前致謝。
我不太確定它是否可以工作,但是請嘗試將.dll放入“ mysol”調試文件夾中。 幾周前,當我將庫編譯為.dll時,我遇到了類似的問題。 我只是將該.dll放在我的調試文件夾中,並且工作得非常好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.