Vì vậy, tôi đang cố gắng sử dụng regex C++ 2011 ở nhà trên máy Mac của mình. Tôi đang mã hóa bằng cách sử dụng Eclipse, với một chút dabbling với biên dịch từ các thiết bị đầu cuối.C++ không thể tìm thấy regex ngay cả với -std = C++ 11 macOSX
Đây là những gì sẽ xảy ra khi tôi cố gắng để biên dịch mã của tôi:
$ c++ -std=c++11 -o a *.cpp
scanner.cpp:11:10: fatal error: 'regex' file not found
#include <regex> // to use this need to use -std=c++11 flag in compiler
^
1 error generated.
Điều này xảy ra nếu tôi sử dụng -std = C++ 11 cờ hay không.
Dưới đây là c của tôi ++ -v:
$ c++ -v
Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin12.4.0
Thread model: posix
Bây giờ tôi đã tìm thấy trên máy tính của tôi những gì có vẻ là file tôi muốn bao gồm trong dự án của tôi tại "usr/lib/C++/v1/regex ". Nhưng đó không phải là trong các tập tin bao gồm trong nhật thực, và tôi không có ý tưởng làm thế nào để làm cho trình biên dịch của tôi tìm thấy nó.
Làm cách nào tôi có thể thêm điều này vào các đường dẫn bao gồm, nếu đó là những gì tôi cần làm để thực hiện công việc này?
Cập nhật:
thử
$ c++ -I/usr/lib/c++/v1 -o a *.cpp
mà kết quả trong các lỗi
Undefined symbols for architecture x86_64:
theo những gì dường như là một tài liệu tham khảo cho mọi dòng trong mã của tôi, chẳng hạn như
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::compare(char const*) const", referenced from:
std::__1::basic_regex<char, std::__1::regex_traits<char> >::__start_matching_list(bool) in scanner-LSmxM4.o