簡體   English   中英

Visual Studio靜態鏈接(freeglut,glew)

[英]Visual Studio Static Link (freeglut, glew)

我使用freeglut和glew創建了一個項目,並嘗試靜態鏈接它們。 目前,當我構建項目時,我得到一個exe和兩個dll(freeglut32.dll和glew32.dll)。 我想這樣做,以便我只得到exe。

要安裝我使用NuGet的庫。 (Install-package freeglut)和(Install-Package glew)。 NuGet將glew.lib下載到。\\ packages \\ glew.1.9.0.1 \\ build \\ native \\ lib \\ v110 \\ x64 \\ Release \\ static \\ glew.lib和freeglut to。\\ packages \\ freeglut.2.8.1.15 \\ build \\ native \\ LIB \\ V110 \\ 64 \\發布\\靜\\ freeglut.lib。 我假設它們是我想要的.lib文件,因為它們都超過1 MB。

在Visual Studio中,我轉到了Linker - > Input - > Additional Dependencies並添加了freeglut.lib和glew.lib的路徑。 我還在代碼中添加了#define GLEW_STATIC#define FREEGLUT_STATIC 鏈接庫依賴關系已打開。

即便如此,構建項目還是給了我654 KB的exe以及224 kb的freeglut.dll和356 kb的glew32.dll。 我怎樣才能確保它不存在glew32.dll和freeglut.dll並且我只給出了單個可執行文件?

編輯:由於建議:我去了屬性 - >引用包並設置freeglut和glew為靜態。

您需要為glew和freeglut構建與您的項目設置兼容的靜態庫

步驟1)下載並構建vcpkg.exe(Microsoft的開源自動打包工具),並確保保持與當前項目類似的構建設置。 以后vcpkg將使用這些設置作為默認值或內在值。

步驟2)在管理模式下打開PowerShell並轉到vcpkg目錄

步驟3)輸入.\\vcpkg install glew:x64-windows-static這告訴包裝程序為x64機器構建項目的靜態庫。 重復freeglut。 您的靜態庫已准備好進行手動鏈接。 在vcpkg \\ installed \\ x64-windows-static \\下,您可以找到子目錄viz lib(您的lib在這里),include目錄包含您的glew包含文件。

步驟4)[可選]如果要將已安裝的軟件包自動鏈接到Visual Studio C ++項目(僅在VS 2015或更高版本中可用),請鍵入

.\vcpkg integrate install

許多開源窗口項目都可以使用這個工具自動構建,享受。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM