簡體   English   中英

C ++-Ubuntu 16.04中個人類的文件夾

[英]C++ - Folder of personal classes in Ubuntu 16.04

可能是一個愚蠢的問題,我從事C ++編程已有一段時間了,但相比之下,我還是Linux的新手。

我用C ++創建了一個簡單的Matrix類,並且在我工作所需的大多數程序中都在使用它。 到目前為止,我一直在/ include子文件夾中復制Matrix.h和Matrix.cc文件,這些文件是在包含我編寫的程序的不同文件夾內創建的,將它們編譯並與makefiles鏈接在一起。 我猜不是很聰明。

現在,我想到改善這種情況的第一件事就是將Matrix.h和Matrix.cc的單個副本放在一個文件夾中,並將它們的新路徑添加到程序的make文件中。 在這種情況下,是否有“首選”文件夾,在該文件夾中存放文件應該更方便? 我似乎了解大多數頭文件位於/ usr / include中,而類文件位於/ usr / lib中。

具體地說,我當時在想,當我使用自己創建的此類時,必須在main_program.cpp中包含頭文件,並在編譯時鏈接文件Matrix.o。 另一方面,當我使用“普通”類(例如cmath,vector,iostream)時,我只需要在主文件中包含頭文件,編譯器就負責鏈接。 只需將我的課程文件放在正確的系統文件夾中,就可以實現嗎? 我應該修改編譯器選項中的任何內容嗎?

謝謝!

之所以不必手動鏈接標准標頭,是因為編譯器默認情況下鏈接libc.a 其他庫默認情況下未鏈接,並且需要編譯標志。 例如, cmath需要-lm標志,因為它不是libc一部分。

因此,簡短的答案是您真的無法避免告訴編譯器要鏈接的內容。

暫無
暫無

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

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