当我使用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) –