本文轉自:http://blog.csdn.net/dzyssssss/article/details/6609086
近日給其他組同事開發了一個控件,使用vs2008作為開發工具,完成后別人注冊時居然不成功,經查發現居然是依賴庫不全問題。
1、ATL庫
2、msvcr90.dll庫
對于第一個問題直接在工程中設置靜態鏈接atl庫即可解決該問題,但是對于第二個沒有想明白怎么弄,難道非得發布msvcr90.dll文件嗎,太麻煩了。后來一查居然有人說是vs2008的bug,不知道是不是,不過之總解決了上面依賴的庫,不用帶那么多"尾巴"了,呵呵。
具體處理過程如下:
1、在Project\Properties\Configuration Properties\Project Defaults\Use of MFC中,選擇Use MFC in a Static Library
2、編譯,編譯不通過沒關系(但是我做的庫是編譯通過了)
3、在Project\Properties\Configuration Properties\Project Defaults\Use of MFC中,選擇Use Standard Windows Libraries(就是把設置改回去)
4、再次編譯
再使用dependency工具查看,果然不依賴于上面提到的msvcr90.dll了,但是問題是再選擇回去后,編譯出來的庫確實比以前大了不少,具體內部原因多半還得問微軟是怎么回事了!