[英]Visual Studio 2010: How to enforce build order of projects in a solution?
[英]How to build a visual studio 2010 solution into a standalone dll?
我有一個visual studio 2010項目,使用靜態和動態庫( .lib
和.dll
),項目在發布和調試模式下成功編譯和構建為.exe
,代碼是c和c ++。
將所有解決方案編譯並包裝到一個獨立的.dll
文件的正確方法是什么。
我想要一個dll文件,我將能夠安全地在其他c,c ++,c#項目中加載它。
在我的情況下,我想在teraterm和其他簡單的自我開發的c#應用程序中加載它。
Visual Studio有一個名為“鏈接庫依賴項”的C ++鏈接器選項: http : //msdn.microsoft.com/en-us/library/024awkd1(v = vs。90).aspx
這會將解決方案中所有項目的目標文件直接鏈接到項目輸出中(通過依賴關系跟蹤)。 但是當你使用它時要小心,如果你在EXE中使用它,並且你鏈接導出符號的DLL你的EXE也會導出它們。
更新:
下面是更詳細的說明:不是鏈接DLL(這假設你有你想要鏈接的DLL設置為解決方案中項目的依賴關系)來生成單獨的二進制文件,鏈接器將獲取每個項目的輸出依賴並將它們直接鏈接到最終的可執行文件/ DLL,從而創建一個單片DLL。
副作用是(取決於代碼)輸出的總體大小減少了一點,單片DLL(或EXE)通常可能很大,但由於鏈接時間的原因比單個輸出文件組合更小最佳化。 鏈接對象導出的任何符號都將由最終DLL導出,因為它們在編譯步驟中標記為這樣。
可能有一個問題,但是在VS2010中,您應該只需單擊啟動項目,選擇'屬性' - >'配置屬性' - >'常規' - >'配置類型' - >將其設置為'動態庫( DLL)”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.