![](/img/trans.png)
[英]qt creator incorrectly processes header files includes from include directory
[英]CMake header file that includes header files from other directory
鑒於這棵樹:
project
+ lib
+ include
+ include_both.h
+ source
+ file1.cpp
+ file1.h
+ file2.cpp
+ file2.h
+ main_dir
+ main.cpp
使用 CMake 將lib
鏈接到main_dir
后,我希望 header 文件 file1.h 和 file2.h 在 main.cpp 中不可見。 我希望該庫只能由 include_both.h header 文件包含。 如何做到這一點,我什至應該這樣做嗎?
您可以嘗試將include
目錄設為PUBLIC
目錄,以便庫的使用者可以看到它,但請保持source
目錄為私有:
add_library(MyLib SHARED
source/file1.cpp
source/file2.cpp
)
target_include_directories(MyLib
PUBLIC include
PRIVATE source
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.