গুগল পরীক্ষার জন্য কেন কোনও লাইব্রেরি ফাইল ইনস্টল করা হয়নি?


54

Libgtest-dev প্যাকেজটি সিস্টেমে কেবলমাত্র শিরোনাম ফাইল ইনস্টল করে, তবে / usr / lib এর অধীন ইনস্টল করা উচিত এমন স্ট্যাটিক এবং ডায়নামিক লাইব্রেরি নয়।

এটা কি বাগ?


2
যেহেতু এটি উদ্দেশ্যমূলক, এটি কোনও বাগ নয়; তবুও পরিস্থিতি পুরোপুরি বিভ্রান্তিকর। অতএব আমি bugs.debian.org/cgi-bin/bugreport.cgi?bug=802587 এ একটি বাগ রিপোর্ট দায়ের করেছি ।
— জোছিম ডব্লু

উগ ... বুস্টের পরীক্ষার কাঠামো "স্রেফ কাজ করে"?
— অ্যান্ড্রু ওয়াগনার

উত্তর:


70

এটা কি বাগ?

না, এটি ইচ্ছাকৃত:

গেস্ট (1.6.0-1ubuntu2) সুনির্দিষ্ট; জরুরি = কম

  গেস্ট নিশ্চিত করতে স্ট্যাটিক লাইব্রেরি বিতরণ বন্ধ করুন (যদিও এটি এখনও এটি নির্মাণ করে)
    কাজ)। প্রবাহ কেবলমাত্র লিবারি শিপিংয়ের বিরুদ্ধে সুপারিশ করে
    উৎস. (দেখুন: http://code.google.com/p/googletest/wiki/FAQ)
    দেবিয়ান রক্ষণাবেক্ষণকারীও এটি করার পরিকল্পনা করছেন (বিটিএস: 639795 দেখুন); এটা করতে
    উবুন্টু এখন এমআইআর প্রয়োজনীয়তা পূরণ করতে।

স্ট্যাটিক লাইব্রেরি তৈরি করা

সিডি / ইউএসআর / এসসিআর / গেস্ট
sudo cmake।
সুডো মেক
সুডো এমভি লিবিগ * / ইউএসআর / লিবিব /

সম্পাদনা:

নামগুলি বছরগুলিতে কিছুটা পরিবর্তিত হয়েছে, যদিও প্রক্রিয়াটি একই রয়েছে remains উবুন্টু 17.04 এ:

sudo apt-get install libgtest-dev
cd /usr/src/googletest/googletest
sudo mkdir build
cd build
sudo cmake ..
sudo make
sudo cp libgtest* /usr/lib/
cd ..
sudo rm -rf build

ধন্যবাদ! আমি এইভাবে গ্রন্থাগারগুলি তৈরি করেছি। কেবল ভেবেছিলেন এটি একটি .deb প্যাকেজের জন্য অফিসিয়াল পদ্ধতির নাও হতে পারে ।
— এডিডেক্সু

1
গুগল রহস্যজনক উপায়ে কাজ করে! :) আনন্দিত এটি সাহায্য করেছে।
— ইশ

2
অনুলিপি-সংস্করণ:cd /usr/src/gtest && sudo cmake . && sudo make && sudo mv libg* /usr/lib/ && cd -
— এক্সিক

2
এখানে বর্ণিত কারণটি যে কোনও লাইব্রেরিতে প্রয়োগ করা যেতে পারে । উদাহরণস্বরূপ, যদি বুস্টকে লিবিস্টডিসি ++ এর সাথে যুক্ত করা হয় এবং আপনি libc ++ ব্যবহার করতে চান তবে আপনাকে উত্স থেকে বুস্টটি পুনরায় কম্পাইল করতে হবে। সুতরাং এটি আশ্চর্যজনক, আইএমএইচও
— রোস্লো

7
এটি হ'ল আসিনিন ফ্রেইকিং। তারা কেন উত্সটির জন্য লাইব্রেরিটি জাহাজে পাঠাবে না? অথবা কমপক্ষে প্যাকেজ ইনস্টলটি এটি স্বয়ংক্রিয়ভাবে তৈরি করুন।
— ভুয়া নাম

23

ইওএক্সএক্স এর উত্তরের উপর উন্নতি করা আমি এইভাবে চক্রটি ব্যবহার করতে পারতাম:

sudo cmake -DCMAKE_BUILD_TYPE=RELEASE .

এবং আমি একটি বাহ্যিক উত্স বিল্ড চেষ্টা করব:

cd /tmp
mkdir .build
cd .build
cmake -DCMAKE_BUILD_TYPE=RELEASE /usr/src/gtest/
make
sudo mv libg* /usr/lib/

0

নোট করুন যে গুগল দ্বারা প্রস্তাবিত উপায়টি হল আপনার বিদ্যমান প্রকল্পটি গেমস্টের উত্স কোডটি টানতে হবে।

বিকল্পভাবে, সিএমকে সাথে ব্যবহার করার সময়, আপনি পূর্বনির্ধারিতভাবে প্রবেশের পরে add_subdirectoryযে গেমটি উত্সটি এসেছিলেন তা যুক্ত করতে ব্যবহার করতে পারেন ।libgtest-dev/usr/src/googletest

নিম্নলিখিত কাজ করবে

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