簡體   English   中英

在CMake安裝static庫的Debug和Release配置

[英]Install both Debug and Release configurations of static library in CMake

我切換到catch2 3.0,它現在表示為 static 庫並面臨其構建類型(配置)的問題。 要安裝 catch2,應該使用 Release 或 Debug 配置構建它,這樣您的安裝路徑中就會有相應的 .lib 文件。 但。 只有當它(項目)具有相同的配置時,我才能將它鏈接到我的項目,所以如果我想切換我的項目的配置。 我必須使用適當的配置重新安裝 catch2。

有沒有辦法解決這個問題?

我想到了兩個可能的選擇:


選項 1. 將catch2安裝到 2 個單獨的目錄:

  • catch2的構建ReleaseDebug
  • 安裝到兩個不同的位置( /path/to/rel & /path/to/debug
  • 在您的項目中,對於ReleaseDebug構建樹,分別將CMAKE_PREFIX_PATH設置為其中之一。

此方法清晰簡單,並且保證有效。

注意:您不必在項目中硬編碼庫路徑,因為該路徑作為命令行/GUI 參數傳遞給 cmake。


方案2.使用CMAKE_<CONFIG>_POSTFIX來區分不同的構建

這個我不太確定,但我只想指出 cmake 確實提供了這個功能。 這是文檔

例如,如果您將CMAKE_DEBUG_POSTFIX設置為-debug ,則Debug庫文件將從foo重命名為foo-debug ,而Release庫仍將是foo 然后他們可以住在同一個文件夾中。

就像你知道的那樣,我自己從未嘗試過此功能。 而且我相信這有點取決於catch2的 cmake 配置文件(如果有的話)的質量。 所以 YMMV 如果你想嘗試這個選項。

暫無
暫無

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

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