簡體   English   中英

CMake Visual Studio鏈接可執行文件與靜態庫

[英]CMake Visual Studio linking executable with static library

我有一個非常簡單的(目前僅是main.cpp)CMake C ++項目,我正在嘗試在Mac OS X和Windows上進行構建。 這取決於libgsasl,我在兩個平台上都將其編譯為靜態庫。

Mac OS X編譯時沒有問題,Windows編譯時也不會抱怨,並生成EXE。 當我嘗試在Windows上運行EXE時,它給出一條錯誤消息,指出該應用程序無法運行,因為找不到libgsasl.dll。

我什至不試圖鏈接到動態庫,而是靜態庫(.lib版本)。 我想念什么嗎? 在Visual Studio中,看起來gsasl.lib文件已找到並包含在鏈接命令中。

在MS工具鏈中,.lib可以是靜態庫,也可以是實際DLL的導入庫。

您可以使用dumpbin窺視庫內部以查看其實際類型。 有兩種不同的方式來處理細節,但是我的首選技術是使用/ summary選項。 導入庫將具有.idata $ n節(其中n是整數),而靜態庫將具有.text節。

暫無
暫無

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

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