[英]Install both Debug and Release configurations of static library in CMake
我切換到catch2 3.0,它現在表示為 static 庫並面臨其構建類型(配置)的問題。 要安裝 catch2,應該使用 Release 或 Debug 配置構建它,這樣您的安裝路徑中就會有相應的 .lib 文件。 但。 只有當它(項目)具有相同的配置時,我才能將它鏈接到我的項目,所以如果我想切換我的項目的配置。 我必須使用適當的配置重新安裝 catch2。
有沒有辦法解決這個問題?
我想到了兩個可能的選擇:
選項 1. 將catch2
安裝到 2 個單獨的目錄:
catch2
的構建Release
和Debug
/path/to/rel
& /path/to/debug
)Release
和Debug
構建樹,分別將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.