[英]Including headers in C++
在C ++中,是否需要將任何所需的頭文件復制到主C ++文件的目錄中?
例如 我已經在全球安裝了OpenCV,並且Python綁定運行良好。 但是,如果我寫:
#include "opencv2/highgui/highgui.hpp"
我收到“未找到”錯誤。 我是否需要將它們從其全局安裝位置復制到項目目錄? 我敢肯定,為此必須有一套完善的實踐,所以我不想獨自一人摸索。
這取決於您使用的操作系統和構建工具鏈,但是以使用linux,gcc和cmake的示例為例,本文介紹了如何使用opencv進行構建。
http://docs.opencv.org/trunk/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.html
如使用find_package
指令所看到的,cmake正在搜索opencv包含文件。
顯然,您可以直接使用g++ -I
指定include路徑,但是讓cmake為您找到它的好處是,如果您在其他系統上進行編譯,則更有可能被找到。 如果找不到文件,也會給您一個錯誤。
最后,您應該確保擁有“ dev”文件,而不僅僅是庫。 開發文件將包含標題。 同時,該庫將僅具有可用於靜態鏈接或運行時鏈接的共享庫( *.so
)和存檔( *.a
)。
如果它是全局安裝的,則需要通知編譯器全局查看,即
#include <opencv2/highgui/highgui.hpp>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.