Tôi đã googling một lúc và tôi không có kết quả nào được nêu ra vì vậy tôi quay sang các bạn ^^ Tôi đang cố gắng sử dụng CMake để xây dựng dự án C++ của mình và tôi gặp sự cố trong tiêu đề đường dẫn.Đường dẫn tiêu đề CMake và tuyệt đối
Vì tôi đang sử dụng rất nhiều lớp được sắp xếp trong một số thư mục, tất cả các câu lệnh include của tôi đều có đường dẫn tuyệt đối (vì vậy không cần sử dụng "../../") nhưng khi cố gắng tạo CMake Makefile nó chỉ không hoạt động.
Có ai biết cách chỉ định trong CMakeLists.txt rằng tất cả các bao gồm đều có đường dẫn tuyệt đối không? Cảm ơn rất nhiều trước.
đầu ra của tôi khi cố gắng để làm
~/multiboost/BanditsLS/GenericBanditAlgorithmLS.h:45:25: Utils/Utils.h: No such file or directory
~/multiboost/BanditsLS/GenericBanditAlgorithmLS.h:46:35: Utils/StreamTokenizer.h: No such file or directory
tập tin CMakeLists.txt của tôi:
#The following command allows the use of the "file" command
cmake_minimum_required(VERSION 2.6)
#The declaration of the project
project(multiboost)
#This allows recursive parsing of the source files
file(
GLOB_RECURSE
source_files
*
)
list(REMOVE_ITEM source_files ./build/*)
#This indicates the target (the executable)
add_executable(
multiboost
${source_files} #EXCLUDE_FROM_ALL build/
)
bạn có thể prvodie một ví dụ nhỏ (nguồn/header/cmake)? Ngoài ra, đường dẫn tuyệt đối thường là một ý tưởng tồi. Cách tốt nhất để làm điều này là imo cách làm ví dụ tăng nó: chỉ định một gốc duy nhất có trong đường dẫn bao gồm từ trình biên dịch và bắt đầu từ đó. – stijn
Có chính xác, đây là những gì tôi đang làm: Nói rằng tôi có một src/dir có chứa tất cả các subdirs của nguồn cũng như các tập tin chính. Trong tất cả các câu lệnh include của tôi, tôi chỉ phải chỉ định đường dẫn từ src /. Trong dự án XCode của tôi, nó hoạt động tốt nhưng tôi đã không tìm ra cách để làm cho nó trong CMake. (Cảm ơn câu trả lời của bạn; o)) – Archy
vâng nhưng chúng tôi vẫn cần một ví dụ + thông tin thêm ('nó chỉ không hoạt động' là khó hiểu như một mô tả lỗi có thể nhận được, không cho chúng tôi biết gì cả) – stijn