1 | $ clang++ --version |
---|
2 | Apple clang version 3.0 (tags/Apple/clang-211.10.1) (based on LLVM 3.0svn) |
---|
3 | Target: x86_64-apple-darwin11.1.0 |
---|
4 | Thread model: posix |
---|
5 | |
---|
6 | $ llvm-g++-4.2 --version |
---|
7 | i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00) |
---|
8 | Copyright (C) 2007 Free Software Foundation, Inc. |
---|
9 | This is free software; see the source for copying conditions. There is NO |
---|
10 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
---|
11 | |
---|
12 | $ g++ --version |
---|
13 | i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00) |
---|
14 | Copyright (C) 2007 Free Software Foundation, Inc. |
---|
15 | This is free software; see the source for copying conditions. There is NO |
---|
16 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
---|
17 | |
---|
18 | $ clang++ sample.cpp -I/opt/local/include -L/opt/local/lib -lboost_system-mt -lboost_regex-mt -licudata -licui18n -licuuc |
---|
19 | In file included from sample.cpp:2: |
---|
20 | In file included from /opt/local/include/boost/regex.hpp:31: |
---|
21 | In file included from /opt/local/include/boost/regex/v4/regex.hpp:70: |
---|
22 | /opt/local/include/boost/regex/v4/basic_regex_creator.hpp:1027:34: warning: equality comparison with extraneous |
---|
23 | parentheses [-Wparentheses] |
---|
24 | else if((state->type == syntax_element_long_set_rep)) |
---|
25 | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
---|
26 | /opt/local/include/boost/regex/v4/basic_regex_creator.hpp:1027:34: note: remove extraneous parentheses around the |
---|
27 | comparison to silence this warning |
---|
28 | else if((state->type == syntax_element_long_set_rep)) |
---|
29 | ~ ^ ~ |
---|
30 | /opt/local/include/boost/regex/v4/basic_regex_creator.hpp:1027:34: note: use '=' to turn this equality comparison into |
---|
31 | an assignment |
---|
32 | else if((state->type == syntax_element_long_set_rep)) |
---|
33 | ^~ |
---|
34 | = |
---|
35 | /opt/local/include/boost/regex/v4/basic_regex_creator.hpp:1328:28: warning: equality comparison with extraneous |
---|
36 | parentheses [-Wparentheses] |
---|
37 | if((p->type == syntax_element_recurse)) |
---|
38 | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ |
---|
39 | /opt/local/include/boost/regex/v4/basic_regex_creator.hpp:1328:28: note: remove extraneous parentheses around the |
---|
40 | comparison to silence this warning |
---|
41 | if((p->type == syntax_element_recurse)) |
---|
42 | ~ ^ ~ |
---|
43 | /opt/local/include/boost/regex/v4/basic_regex_creator.hpp:1328:28: note: use '=' to turn this equality comparison into |
---|
44 | an assignment |
---|
45 | if((p->type == syntax_element_recurse)) |
---|
46 | ^~ |
---|
47 | = |
---|
48 | 2 warnings generated. |
---|
49 | Undefined symbols for architecture x86_64: |
---|
50 | "boost::icu_regex_traits::isctype(int, unsigned long long) const", referenced from: |
---|
51 | boost::re_detail::perl_matcher<boost::u8_to_u32_iterator<char const*, int>, std::allocator<boost::sub_match<boost::u8_to_u32_iterator<char const*, int> > >, boost::icu_regex_traits>::find_restart_word() in cc-gArVZq.o |
---|
52 | boost::u8_to_u32_iterator<char const*, int> boost::re_detail::re_is_set_member<boost::u8_to_u32_iterator<char const*, int>, int, boost::icu_regex_traits, unsigned long long>(boost::u8_to_u32_iterator<char const*, int>, boost::u8_to_u32_iterator<char const*, int>, boost::re_detail::re_set_long<unsigned long long> const*, boost::re_detail::regex_data<int, boost::icu_regex_traits> const&, bool) in cc-gArVZq.o |
---|
53 | boost::re_detail::perl_matcher<boost::u8_to_u32_iterator<char const*, int>, std::allocator<boost::sub_match<boost::u8_to_u32_iterator<char const*, int> > >, boost::icu_regex_traits>::match_word_boundary() in cc-gArVZq.o |
---|
54 | boost::re_detail::perl_matcher<boost::u8_to_u32_iterator<char const*, int>, std::allocator<boost::sub_match<boost::u8_to_u32_iterator<char const*, int> > >, boost::icu_regex_traits>::match_within_word() in cc-gArVZq.o |
---|
55 | boost::re_detail::perl_matcher<boost::u8_to_u32_iterator<char const*, int>, std::allocator<boost::sub_match<boost::u8_to_u32_iterator<char const*, int> > >, boost::icu_regex_traits>::match_word_start() in cc-gArVZq.o |
---|
56 | boost::re_detail::perl_matcher<boost::u8_to_u32_iterator<char const*, int>, std::allocator<boost::sub_match<boost::u8_to_u32_iterator<char const*, int> > >, boost::icu_regex_traits>::match_word_end() in cc-gArVZq.o |
---|
57 | "boost::re_detail::icu_regex_traits_implementation::do_transform(int const*, int const*, icu_46::Collator const*) const", referenced from: |
---|
58 | boost::re_detail::icu_regex_traits_implementation::transform_primary(int const*, int const*) const in cc-gArVZq.o |
---|
59 | boost::re_detail::icu_regex_traits_implementation::transform(int const*, int const*) const in cc-gArVZq.o |
---|
60 | "boost::basic_regex<int, boost::icu_regex_traits>::do_assign(int const*, int const*, unsigned int)", referenced from: |
---|
61 | boost::basic_regex<int, boost::icu_regex_traits>::assign(int const*, int const*, unsigned int) in cc-gArVZq.o |
---|
62 | ld: symbol(s) not found for architecture x86_64 |
---|
63 | clang: error: linker command failed with exit code 1 (use -v to see invocation) |
---|
64 | |
---|
65 | $ g++ sample.cpp -I/opt/local/include -L/opt/local/lib -lboost_system-mt -lboost_regex-mt -licudata -licui18n -licuuc |
---|
66 | Undefined symbols for architecture x86_64: |
---|
67 | "boost::basic_regex<int, boost::icu_regex_traits>::do_assign(int const*, int const*, unsigned int)", referenced from: |
---|
68 | boost::basic_regex<int, boost::icu_regex_traits>::assign(int const*, int const*, unsigned int)in ccTZh2is.o |
---|
69 | "boost::icu_regex_traits::isctype(int, unsigned long long) const", referenced from: |
---|
70 | boost::re_detail::perl_matcher<boost::u8_to_u32_iterator<char const*, int>, std::allocator<boost::sub_match<boost::u8_to_u32_iterator<char const*, int> > >, boost::icu_regex_traits>::match_word_end()in ccTZh2is.o |
---|
71 | boost::re_detail::perl_matcher<boost::u8_to_u32_iterator<char const*, int>, std::allocator<boost::sub_match<boost::u8_to_u32_iterator<char const*, int> > >, boost::icu_regex_traits>::match_word_start()in ccTZh2is.o |
---|
72 | boost::re_detail::perl_matcher<boost::u8_to_u32_iterator<char const*, int>, std::allocator<boost::sub_match<boost::u8_to_u32_iterator<char const*, int> > >, boost::icu_regex_traits>::match_within_word()in ccTZh2is.o |
---|
73 | boost::re_detail::perl_matcher<boost::u8_to_u32_iterator<char const*, int>, std::allocator<boost::sub_match<boost::u8_to_u32_iterator<char const*, int> > >, boost::icu_regex_traits>::match_word_boundary()in ccTZh2is.o |
---|
74 | boost::u8_to_u32_iterator<char const*, int> boost::re_detail::re_is_set_member<boost::u8_to_u32_iterator<char const*, int>, int, boost::icu_regex_traits, unsigned long long>(boost::u8_to_u32_iterator<char const*, int>, boost::u8_to_u32_iterator<char const*, int>, boost::re_detail::re_set_long<unsigned long long> const*, boost::re_detail::regex_data<int, boost::icu_regex_traits> const&, bool)in ccTZh2is.o |
---|
75 | boost::re_detail::perl_matcher<boost::u8_to_u32_iterator<char const*, int>, std::allocator<boost::sub_match<boost::u8_to_u32_iterator<char const*, int> > >, boost::icu_regex_traits>::find_restart_word()in ccTZh2is.o |
---|
76 | "boost::re_detail::icu_regex_traits_implementation::do_transform(int const*, int const*, icu_46::Collator const*) const", referenced from: |
---|
77 | boost::re_detail::icu_regex_traits_implementation::transform(int const*, int const*) constin ccTZh2is.o |
---|
78 | boost::re_detail::icu_regex_traits_implementation::transform_primary(int const*, int const*) constin ccTZh2is.o |
---|
79 | ld: symbol(s) not found for architecture x86_64 |
---|
80 | collect2: ld returned 1 exit status |
---|