Google परीक्षण के लिए कोई लाइब्रेरी फ़ाइल क्यों नहीं स्थापित की गई?


54

Libgtest-dev पैकेज लगता है कि सिस्टम में केवल हेडर फाइल ही इंस्टॉल करता है, लेकिन स्टेटिक और डायनेमिक लाइब्रेरी नहीं, जिसे / usr / lib के तहत इंस्टॉल किया जाना चाहिए।

यह एक बग है?


2
चूंकि यह जानबूझकर है, यह बग नहीं है; अभी तक स्थिति पूरी तरह से भ्रमित है। इसलिए मैंने bugs.debian.org/cgi-bin/bugreport.cgi?bug=802587 पर बग रिपोर्ट दर्ज की ।
जोकिम डब्ल्यू

उह ... क्या बूस्ट का टेस्टिंग फ्रेमवर्क "सिर्फ काम" है?
एंड्रयू वैगनर

जवाबों:


70

यह एक बग है?

नहीं, यह जानबूझकर है:

gtest (1.6.0-1ubuntu2) सटीक; तात्कालिकता = कम

  * स्टैटिक लाइब्रेरी को वितरित करना बंद करें (हालांकि अभी भी इसका निर्माण, gtest सुनिश्चित करने के लिए
    काम करता है)। अपस्ट्रीम सभी के लिए, परिवाद शिपिंग के खिलाफ सिफारिश करता है
    स्रोत। (देखें: http://code.google.com/p/googletest/wiki/FAQ)
    डेबियन अनुरक्षक भी ऐसा करने की योजना बना रहा है (बीटीएस देखें: 639795); में करो
    उबेर अब MIR आवश्यकताओं को पूरा करने के लिए।

स्थैतिक पुस्तकालयों का निर्माण करना

cd / usr / src / gtest
सूदो सीमेक।
सूदो मेक
sudo mv libg * / usr / lib /

संपादित करें:

वर्षों में नाम थोड़ा बदल गए हैं, हालांकि प्रक्रिया समान है। उबंटू में 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
Google रहस्यमय तरीके से काम करता है! :) खुशी है कि यह मदद की।
इश

2
कॉपी-पेस्ट संस्करण:cd /usr/src/gtest && sudo cmake . && sudo make && sudo mv libg* /usr/lib/ && cd -
निकलें

2
वास्तव में यहाँ वर्णित कारण किसी भी पुस्तकालय में लागू किया जा सकता है । उदाहरण के लिए अगर बूस्ट libstdc ++ से जुड़ा हुआ है और आप libc ++ का उपयोग करना चाहते हैं, तो आपको स्रोतों से बूस्ट को फिर से जोड़ने की आवश्यकता है। तो यह अजीब है, IMHO
ruslo

7
यह असाइनिंग है। क्यों वे स्रोत के लिए पुस्तकालय जहाज नहीं करेंगे? या कम से कम पैकेज स्थापित करें इसे स्वचालित रूप से स्थापित करें।
नकली नाम

23

Izx के उत्तर पर सुधार करना मैंने इस तरह से सीमेक का उपयोग किया होगा:

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

ध्यान दें कि Google द्वारा अनुशंसित तरीका आपके मौजूदा प्रोजेक्ट को gtest स्रोत कोड को खींचना है।

वैकल्पिक रूप से, CMake के साथ उपयोग करते समय, आप add_subdirectorygtest स्रोत को जोड़ने के लिए उपयोग कर सकते हैं libgtest-devजो डिफ़ॉल्ट रूप से इसके साथ आता है /usr/src/googletest

निम्नलिखित काम करेगा

add_subdirectory(/usr/src/googletest gtest)
target_link_libraries(your_executable gtest)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.