2015-10-02 10 views
17

मैं सिर्फ एल कैप्टन को Yosemite से अद्यतन पर Homebrew के साथ काम करता है और यह मेरी सी ++ प्रोग्राम जो बूस्ट पर भरोसा किया गया था में से एक टूट गया है। जब भी मैं संकलित करने के लिए प्रयास करते हैं, मैं इन त्रुटियों को मिलता है:बूस्ट अब Mac एल कैप्टन

fatal error: 'boost/timer/timer.hpp' file not found 
#include <boost/timer/timer.hpp> 

fatal error: 'boost/program_options.hpp' file not found 
#include "boost/program_options.hpp" 

मैं सही झंडे के साथ यह संकलन किया गया है और यह पूरी तरह से पहले काम किया:

-lboost_timer-mt \ 
-lboost_program_options-mt \ 

मैं घर काढ़ा निर्देशों का पालन किया chown/usr/local को चलाने के लिए, ब्रू डॉक्टर और ब्रू अपडेट चलाएं, यहां तक ​​कि ब्रू पुनर्स्थापित करें। मैंने भी जांच की है और timer.hpp/usr/local/include/boost में मौजूद है।

अद्यतन दौड़ा: बजना ++ -E -x C++ - जब मैं एल कैप्टन करने के लिए उन्नत -v </dev/बातिल

Apple LLVM version 7.0.0 (clang-700.0.72) Target: x86_64-apple-darwin15.0.0 Thread model: posix "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" 
    -cc1 -triple x86_64-apple-macosx10.11.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -E -disable-free -disable-llvm-verifier -main-file-name - -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2 -target-linker-version 253.2 -v -dwarf-column-info -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.0 
    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk 
    -stdlib=libc++ -fdeprecated-macro -fdebug-compilation-dir /usr/local/lib -ferror-limit 19 -fmessage-length 272 -stack-protector 1 -mstackrealign -fblocks -fobjc-runtime=macosx-10.11.0 
    -fencode-extended-block-signature -fcxx-exceptions -fexceptions -fmax-type-align=16 -fdiagnostics-show-option -fcolor-diagnostics -o - -x c++ - clang -cc1 version 7.0.0 based upon LLVM 3.7.0svn default target x86_64-apple-darwin15.0.0 ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/c++/v1" ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/local/include" ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/Library/Frameworks" 
    #include "..." search starts here: 
    #include <...> search starts here: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.0/include /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks (framework directory) End of search list. 
    # 1 "<stdin>" 
    # 1 "<built-in>" 1 
    # 1 "<built-in>" 3 
    # 332 "<built-in>" 3 
    # 1 "<command line>" 1 
    # 1 "<built-in>" 2 
    # 1 "<stdin>" 2 
+0

आप संकलक कि Xcode या कुछ homebrew के साथ स्थापित के साथ आता है का उपयोग कर रहे हैं? क्या आपने यह सुनिश्चित किया है कि यह वही कंपाइलर है जिसका उपयोग आप अपडेट से पहले कर रहे थे? – user657267

+0

मैं क्लैंग कंपाइलर के साथ/usr/bin/g ++ में संकलित कर रहा हूं जो कि मैं पहले उपयोग कर रहा था। –

+0

चेक 'बजना ++ साथ रास्ते में शामिल हैं -E -x C++ - -v user657267

उत्तर

20

आप एक संस्करण प्राप्त करने के xcode-select --install साथ Xcode कमांड लाइन उपकरण स्थापित करना चाहिए डिफ़ॉल्ट रूप से खोज/usr/स्थानीय खोजता है। अन्यथा, आप एक्सकोड उचित द्वारा प्रदान किए गए संस्करणों का उपयोग कर रहे हैं, जो केवल ओएस एक्स एसडीके पथ खोजते हैं। (/ Usr/bin/जीसीसी और/usr/bin/जी ++ दोनों बजना आह्वान और वास्तव में जीसीसी के संस्करणों। नहीं हैं)

+1

हाँ, मैं लोगों की रिपोर्ट सुन रहा हूं कि एल कैपिटन को अपग्रेड करने से उनकी कमांड लाइन टूल्स इंस्टॉलेशन हटा दी गई है, इसलिए आप उस बिंदु पर केवल पूर्ण-एक्सकोड संस्करण प्राप्त कर चुके होंगे। –

1

मैं एक ही समस्या थी। मैंने ब्रू के साथ बूस्ट को पुनर्स्थापित करने में इस समस्या को हल किया।

आप काढ़ा स्थापित नहीं हैं, तो आप यह

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

साथ फिर स्थापित कर सकते हैं, को बढ़ावा देने स्थापित

brew install boost 
+0

मैंने बूस्ट की पुनर्स्थापना चलाई लेकिन इसे किसी कारण से नहीं मिला क्योंकि क्लैंग अब मेरे/usr/include और/usr/libs निर्देशिकाओं में संकलित होने पर अब और नहीं देख रहा था। –

संबंधित मुद्दे