বুস্ট-থ্রেড-এমটি লাইব্রেরি খুঁজে পাওয়া যায় না


8

আমি এমন একটি প্রোগ্রাম সংকলন করছি যা বুস্ট-থ্রেড-এমটি লাইব্রেরি প্রয়োজন। আমি লাইববুস্ট-অল-ডেভ ব্যবহার করে ইনস্টল করেছি sudo apt-get install libboost-all-devতবে সংকলক বলেছেন যে এটি বুস্ট-থ্রেড-এমটি লাইব্রেরিটি খুঁজে পাবে না। এই গ্রন্থাগারটি কি অন্য কোনও প্যাকেজে রয়েছে? এর জন্য আমার কী ইনস্টল করতে হবে দয়া করে আমাকে গাইড করুন।


আপনি কি libboost-thread-devইনস্টল করেছেন?
কর্নেলিয়াস

-mtমূল বুস্ট প্যাকেজে কোনও লাইব্রেরি নেই । আরও দেখুন এই অমীমাংসিত প্রশ্ন।
saiarcot895

আমি কীভাবে এমটি লাইব্রেরি ইনস্টল করতে পারি?
মুহাম্মদ ওমর

উত্তর:


13

-mtপ্রত্যয় মুছে হয়েছে। ইনস্টল করা বুস্ট লাইব্রেরিগুলি মাল্টি-থ্রেডিং নিরাপদ।

আপনি আপনার প্রোগ্রাম বনাম সংকলন করতে পারেন libboost-thread। উভয় ক্ষেত্রেই উৎস অ ব্যবহার করতে পরিবর্তন করে -mtলিব বা সিম্বলিক লিংক তৈরি করে libboost_thread.alibboost_thread-mt.a। একই জিনিস আপনার যদি ভাগ করা libs প্রয়োজন .so


2
সুতরাং ... ক্রস-প্ল্যাটফর্ম ডেভেলপমেন্ট সম্পর্কে কোনও পরামর্শ দেওয়ার কারণে উবুন্টু তার জ্ঞানের ভিত্তিতে অন্য সবার থেকে আলাদা কিছু করার সিদ্ধান্ত নিয়েছে?
ছদ্মনাম

@ ছদ্মনাম, আপনি যদি জিএনইউ অটোটুলগুলি ব্যবহার করছেন তবে অটটকনফ দেখুন :AC_CHECK_LIB
user.dz

1
অটোকনফ অনেক প্রকল্পের জন্য ওভারকিল, বিশেষত যদি আপনি বুস্ট.বিল্ড ব্যবহার করেন।
ছদ্মনামটি

@ ছদ্মনাম, আমি বুস্টের সাথে তেমন পরিচিত নই তবে check-target-builds বুস্ট.বিল্ডের জন্য অটোকনফের একই কার্যকারিতা উপস্থিত বলে মনে হচ্ছে।
user.dz


0

এই লিঙ্কটি এই প্রশ্নের সাথে সম্পর্কিত।

আপনি অ্যাপ্লিকেশন সংস্করণ ব্যবহার না করে উত্স থেকে উত্সাহিতকরণ সংকলনের চেষ্টা করতে পারেন।

যুক্তি --layout, threadingএবং build-typeসাহায্য করবে।

--layout=<layout>     Determines whether to choose library names
                      and header locations such that multiple
                      versions of Boost or multiple compilers can
                      be used on the same system.

                      versioned - Names of boost binaries
                      include the Boost version number, name and
                      version of the compiler and encoded build
                      properties.  Boost headers are installed in a
                      subdirectory of <HDRDIR> whose name contains
                      the Boost version number.

                      tagged -- Names of boost binaries include the
                      encoded build properties such as variant and
                      threading, but do not including compiler name
                      and version, or Boost version. This option is
                      useful if you build several variants of Boost,
                      using the same compiler.

                      system - Binaries names do not include the
                      Boost version number or the name and version
                      number of the compiler.  Boost headers are
                      installed directly into <HDRDIR>.  This option
                      is intended for system integrators who are
                      building distribution packages.

                  The default value is 'versioned' on Windows, and
                  'system' on Unix.

সুতরাং, বুস্ট ইনস্টল করতে এই কমান্ডটি চেষ্টা করুন bootstrap.sh --prefix=/path/of/yours:

./b2 install -j16 threading=multi --layout=tagged --build-type=complete

তারপরে আপনি সমস্ত -mtলাইব্রেরি পাবেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.