मैं cmake का उपयोग करके कुछ कोड बनाने की कोशिश कर रहा हूं। कोड कुछ बूस्ट लाइब्रेरी का उपयोग करता है। उसके कारण मैं cmakefile में Boost खोजने की कोशिश करता हूं:
find_package(Boost 1.65.1 REQUIRED COMPONENTS unit_test_framework program_options )
मैंने apt के माध्यम से बूस्ट संस्करण 1.58 स्थापित किया है (मैं लिनक्स मिंट 18.3 का उपयोग कर रहा हूं), इसलिए मुझे कोड को सेमी करने की कोशिश करते समय स्पष्ट रूप से त्रुटि संदेश मिलता है:
CMake Error at /usr/share/cmake-3.5/Modules/FindBoost.cmake:1677 (message):
Unable to find the requested Boost libraries.
Boost version: 1.58.0
Boost include path: /usr/include
Detected version of Boost is too old. Requested version was 1.65.1 (or newer).
Call Stack (most recent call first):
CMakeLists.txt:14 (find_package)
-- Configuring incomplete, errors occurred!
इसलिए मैंने स्रोत से Boost 1.65.1 डाउनलोड किया और इसे इच्छित तरीके से बनाया और इसे उपसर्ग के साथ स्थापित किया
sudo ./b2 install --prefix=/usr/include
जब मैं फिर से कोड बनाने की कोशिश करता हूं, तब भी यही होता हैपहले की तरह सटीक त्रुटि संदेश देता है, जिसमें कहा गया है कि यह नया संस्करण नहीं खोज रहा है। मैंने संस्करण 1.58 को अनइंस्टॉल करने और निर्माण करने की कोशिश की है, लेकिन फिर cmake doesn 't सभी पर बूस्ट पाते हैं।
मैं बूस्ट को एक तरह से कैसे स्थापित कर सकता हूं, जो सीमेट इसे खोजने में सक्षम है?
अग्रिम में धन्यवाद, चियर्स!
उत्तर:
जवाब के लिए 0 № 1जब एक में बूस्ट के संस्करण की जानकारी बदल रहा है find_package(Boost)
आपको स्पष्ट करने की आवश्यकता है CMakeCache.txt
फ़ाइल। अन्यथा पिछले रन से कैश्ड जानकारी का उपयोग किया जाता है।