當我使用Visual Studio 2012自動鏈接時,我不需要手動添加boost/POCO/python庫,它們會自動添加。 如果我錯過任何一個圖書館,我得到消息,這樣的:如何增強自動鏈接選擇?
LINK : fatal error LNK1104: cannot open file 'libboost_system-vc110-mt-1_55.lib'
但它是如何知道我要鏈接的文件?也許我想動態鏈接,使用boost_system-vs110-mt-1_55.lib,或者我想要一個與gd或sgd的名字?
它是如何選擇的?
問題是,我的程序正在尋找libboost_ ...(即靜態)庫,當搜索系統,線程等,但它需要boost_(即動態)的python,我只是不明白爲什麼?
如果你通過「自動鏈接」指的是使用dll,那麼也不會讓你免於鏈接.libs。爲了在運行時使用dll,您需要在編譯時瞭解這些dll的內容,這就是.lib文件的作用。關於哪個版本,運行時和mt/md(你正在編譯什麼樣的運行時模塊,你可以看到你的項目的VS選項),你應該首先檢查你的項目來決定。 –
是的,我明白如何自己選擇,使用MinGW編譯該項目,我沒有問題。但是Visual Studio需要自己選擇,所以我不能選擇,它爲我所用。我想知道爲什麼會這樣做。我的問題確實是 - Visual Studio如何實現它的選擇以及如何管理它? – Arkady
你也可以從VS中控制它,查看Linker-> Input窗格中鏈接時包含的.libs以及鏈接器 - >常規 - >其他鏈接目錄(IIRC) –