vs2010為什麼設定了靜態編譯還是需要dll檔案才能執行exe呢?

時間 2021-05-12 11:22:20

1樓:

你的sqlite是怎麼獲得的?如果是通過Visual Studio外掛程式安裝的,你拿到得應該是dll版,你編譯鏈結的lib是dll的stub,發行時就得帶著dll。這和你設定/MT沒關係。

你要把sqlite靜態編譯到exe裡,要麼找到它的靜態lib發行版,要麼自己下原始碼編譯乙個出來。

2樓:叛逆者

/MT的意思是,把vcruntime的lib版本鏈結到exe裡,不是把所有你用到的dll都自動轉換成lib鏈結到你的exe裡。vc沒有能力和權力那麼做。

你明明知道用了sqlite,為什麼不知道應該把它編譯成lib才有可能鏈入exe。而且,只發布exe而不要dll的目的何在?

3樓:

靜態編譯需要提供的lib庫也是靜態的,實際上lib分為兩種形式,一種僅僅只有一些符號資訊,僅在編譯時用,進一步的函式在dll中,這種lib占用儲存較少。還有一種是靜態編譯,這種不需要dll參與。release和debug最大的區別在於是否生產除錯資訊。

如何用VS2010設定編寫匯程式設計序的環境,求詳細解答以及為什麼?

陳良喬 應該很詳細了 Visual Studio自帶的模板是沒有寫ASM檔案的,因此我們需要換一種方法建立專案。具體做法是,在新建專案對話方塊中,選擇建立乙個VC 的空專案。將其命名為我們想要的名稱。之後,需要在新建的工程中選擇新增乙個原始檔,由於模板中沒有 asm檔案,因此,你可以隨便添乙個檔案,...

VS 2010 和 VC 6 0 有什麼區別,感覺 VC 用起來更簡單,VS 好複雜?

小小羅 vs消滅了大括號不寫在下一行的異端 至少我是被消滅了我用vs寫c 程式,大括號自動換 初學程式設計的時候用的是vc,當時嘗試過用vs,感覺 愛瑪vs怎麼這麼難用 當時學的是c,也就寫點基本語法的程式。現在寫帶介面的程式,vs真的太好太好用了 對於一些技術上的問題,留給其他的大牛來回答,我就負...

Android 程式設計中,為什麼設定了 Intent FLAG ACTIVITY NEW TASK,兩個 Activity 取出來的任務 ID 還是相同的?

audientlin 按照我的理解 如果設定了Intent.FLAG ACTIVITY NEW TASK,意思就是在新的Task中啟動Activity,那麼問題來了,新的Task是叫什麼呢?所以就會去Manifest中找這個Activity對應的taskAffinity是什麼,如下 我這裡設定了 a...