簡體   English   中英

在C ++中包含標頭

[英]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.

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