簡體   English   中英

Ncurses靜態庫包含在C ++項目中

[英]Ncurses static libraries to include with a C++ project

我已經安裝了我的項目正在使用的最新ncurses庫。 現在,我想將ncurses靜態庫檢入到svn中,以便可以在另一台計算機上檢出項目並進行編譯,而不必再次在系統上安裝ncurses。

所以問題是libncurses.a,libncurses ++。a和libncurses_g.a文件之間有什么區別? 我的C ++項目是否需要所有這些工具?
謝謝!

libncurses.a   - This is the C compatible library.
libncurses++.a - This is the C++ compatible library.
libncurses_g.a - This is the debug library.
libncurses_p.a - This is the profiling library.

如果要確定是否可以不用libncurses.a來解決問題,可以重命名該庫並運行應用程序的構建。

自從您4年前發布問題以來,我的回答來得有點晚[:-)]。 但:

在SVN中歸檔預編譯的庫意味着,如果目標計算機在某些關鍵方面有所不同,則構建的應用程序可能會失敗。

是的,您可以在完全以相同方式配置的其他計算機上安全運行該應用程序(例如,在完全同類的計算群集上)。 但是,如果計算機不同(例如,因為一台計算機進行了系統升級而另一台計算機未進行系統升級),則它可能會停止工作。 這不太可能,因此您要做的風險可能是可以接受的。

我會建議另一種解決方案:將libncurses源(tarball)的最新穩定版本提交到SVN存儲庫中,並添加一個小腳本(或make target),該腳本運行libncurses構建並將構建的庫安裝到某些項目目錄(而不是系統目錄,但位於您的應用程序構建目錄旁邊,而無需提交SVN)。 僅當升級庫或您要在另一台計算機上構建/運行時,才需要重復此構建步驟。

這不適用於特殊的ncurses庫,但不適用於任何庫。

根據您的項目目標,考慮進一步閱讀有關

  • 包裝管理
  • 交叉編譯

暫無
暫無

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

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