ฉันพยายามดาวน์โหลด https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz และสร้างมัน แต่ไม่มี cmake-gui ในโฟลเดอร์ย่อย. /bin หลังจากสร้าง cmake-gui จัดหามาในแหล่งข้อมูลอื่นหรือไม่
ฉันพยายามดาวน์โหลด https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz และสร้างมัน แต่ไม่มี cmake-gui ในโฟลเดอร์ย่อย. /bin หลังจากสร้าง cmake-gui จัดหามาในแหล่งข้อมูลอื่นหรือไม่
คำตอบ:
สองตัวเลือกที่นี่:
cmake-gui
เป็นแพคเกจเป็น CMake-QT-GUI ติดตั้งด้วย:
sudo apt-get install cmake-qt-gui
หากคุณต้องการสร้างจากแหล่งที่มาให้ทำดังต่อไปนี้:
sudo apt-get update
sudo apt-get build-dep cmake-qt-gui
wget https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz
tar -xzf cmake-3.11.0.tar.gz
cd cmake-3.11.0/
./configure --qt-gui
make -j5
bin/cmake-gui
cmake-qt-gui
ด้วย apt หลังจากรวบรวมcmake
จากแหล่งข้อมูลจะทำให้เกิดข้อผิดพลาดดังต่อไปนี้:Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: cmake-qt-gui : Depends: cmake (= 3.5.1-1ubuntu3) E: Unable to correct problems, you have held broken packages.
ไม่มีอะไรขึ้นอยู่กับ cmake (อาจ) ดังนั้นจึงเป็นโหนดใบ ถอนการติดตั้ง deb รับแหล่งข้อมูลล่าสุดจากhttps://cmake.org/และแกะ tarball ที่ใดที่หนึ่ง
./bootstrap --qt-gui
make
make install
สมมติว่าคุณติดตั้งอุปกรณ์ QT dev คุณจบลงด้วย cmake บรรทัดคำสั่งปกติและ cmake-qui เริ่มจากบรรทัดคำสั่งโดยพิมพ์ cmake หรือ cmake-gui ฉันไม่รู้เกี่ยวกับการเพิ่มเมนู
ในกระบวนการนี้โดยเฉพาะฉันตัดสินใจที่จะกำหนดค่าเวอร์ชันล่าสุดของ cmake ด้วยเวอร์ชัน aake ของ cmake (ขออภัยถ้านี่สับสน)
cmake-gui ถูกคอมไพล์ด้วยที่เก็บเดียวกันกับเครื่องมือบรรทัดคำสั่ง cmake แต่การกำหนดค่าการสร้างเริ่มต้นสำหรับ cmake ไม่ได้ถูกตั้งค่าเพื่อสร้าง cmake-gui (ไม่ใช่อินเตอร์เฟส curses หรืออินเตอร์เฟส Qt)
หากต้องการสร้าง cmake ด้วย cmake-gui จำเป็นต้องตั้งค่าตัวแปรบางอย่างในสคริปต์สร้างของ cmake ปกติคุณอาจทำสิ่งนี้ผ่าน UI แต่ก็เป็นไปได้ที่จะตั้งค่าตัวแปรเหล่านี้ด้วยการแก้ไข CMakeCache.txt ในไดเรกทอรีสร้างซึ่งเป็นสิ่งที่ฉันจะแสดงวิธีทำในคำตอบนี้ด้วยตนเอง
CMake ต้องการ Qt แต่ไม่สามารถค้นหาได้โดยอัตโนมัติสิ่งหนึ่งที่เราต้องทำคือแสดงว่าสคริปต์ Qt CMake อยู่ที่ใด
ดาวน์โหลดโปรแกรมติดตั้งจากเว็บไซต์ของ Qt ในกรณีของฉันฉันเลือกเวอร์ชันล่าสุดของ 5.12 (ณ เวลาที่เขียน 5.12.7) และฉันติดตั้งพร้อมการตั้งค่าเริ่มต้นทั้งหมด
คุณจะต้องสร้างบัญชีด้วย Qt เพื่อดาวน์โหลดตัวติดตั้งโดยใช้วิธีนี้ บัญชีฟรีสำหรับผู้ใช้โอเพ่นซอร์ส (ซึ่งคุณเป็นถ้าคุณใช้สิ่งนี้เพื่อสร้าง cmake สำหรับการใช้งานของคุณเองหากคุณวางแผนที่จะใช้ Qt เพื่อสิ่งอื่นคุณควรตรวจสอบว่าคุณสามารถใช้เวอร์ชันนี้ได้หรือไม่)
ฉันติดตั้ง Qt ไปยังโฟลเดอร์ชื่อ Qt ในโฮมไดเร็กตอรี่ของฉัน
กระบวนการติดตั้งนี้จะใช้เวลาสักครู่
ฉันคิดว่า Qt อาจใช้งานได้ผ่าน apt แต่สำหรับวัตถุประสงค์ของฉันฉันต้องการดาวน์โหลดแบบเต็มสำหรับโครงการอื่นดังนั้นฉันจึงมีที่นี่ต่อไป
git clone https://gitlab.kitware.com/cmake/cmake.git
cd cmake
mkdir build
cd build
cmake ..
ซึ่งจะทำให้ไฟล์ชื่อ CMakeCache.txt ในโฟลเดอร์บิลด์ของคุณ
เปิดไฟล์นี้ในโปรแกรมแก้ไขข้อความของคุณและแก้ไขบรรทัดต่อไปนี้เพื่อเปิดใช้งาน qt ui (ฉันพบไฟล์เหล่านี้โดยค้นหา qt)
โปรดทราบว่าคุณต้องแทนที่ PATH_TO_QT ด้วยตำแหน่งที่ไดเรกทอรี qt ของคุณในกรณีของฉัน PATH_TO_QT เป็นเพียง / home / myname / Qt
//Build Qt dialog for CMake
BUILD_QtDialog:BOOL=ON
QT_QMAKE_EXECUTABLE:FILEPATH=PATH_TO_QT/5.12.7/gcc_64/bin/qmake
//The directory containing a CMake configuration file for Qt5Core.
Qt5Core_DIR:PATH=PATH_TO_QT/5.12.7/gcc_64/lib/cmake/Qt5Core
//The directory containing a CMake configuration file for Qt5Widgets.
Qt5Widgets_DIR:PATH=PATH_TO_QT/5.12.7/gcc_64/lib/cmake/Qt5Widgets
cmake ..
ที่ N make -j10
คือจำนวนของแกนคุณต้องการที่จะรวบรวมในกรณีของฉันฉันพิมพ์
make -jN
sudo make install
sudo make install
ไม่ได้แทนที่รุ่น cmake ที่เก็บไว้ใน / usr / bin ขออภัย
อาจมีวิธีที่สะอาดกว่าเพื่อทำตามขั้นตอนนี้
ใช้cmake --version
เพื่อตรวจสอบว่าคุณจำเป็นต้องทำสิ่งนี้หรือไม่ถ้ามันให้รุ่นที่มาพร้อมกับ apt (สำหรับฉันในเวลาที่เขียน 3.10.2) คุณจะต้องทำสิ่งนี้
คุณควรตรวจสอบว่ารุ่น cmake ของคุณอยู่ใน / usr / local / bin /
ฉันต้องการทำสิ่งต่อไปนี้:
sudo mv /usr/bin/cmake /usr/bin/cmake_old
sudo ln -s /usr/local/bin/cmake /usr/bin/cmake
ฉันไม่ได้คาดหวังว่าจะต้องเชื่อมโยงรุ่นใหม่ของ cmake เข้ากับ / usr / bin / เนื่องจาก / usr / local / bin ควรอยู่ใน PATH ด้วยเหตุผลบางอย่างมันจะมองหา cmake ใน / usr / bin อย่างดื้อรั้นและให้ข้อผิดพลาดกับฉันว่าไม่พบ / usr / bin / cmake แม้ว่าเวอร์ชั่นล่าสุดของ cmake จะมีอยู่ใน / usr / local / bin
ฉันเดาว่าอาจเป็นไปได้ว่าการรีเซ็ต bash หรือ reboot อาจแก้ไขความต้องการในการลิงก์ แต่ฉันไม่แน่ใจ
cmake-gui
เพื่อเริ่ม UIเย็น!
รุ่น Cmake ที่ฉันพยายามจะติดตั้ง: การกระทำนี้ไม่มีความหมายเฉพาะกับเรื่องนี้ฉันเพิ่งโคลนล่าสุด
มันเป็นความเห็นของฉันว่าวิธีนี้จะใช้ได้ถ้าคุณใช้ cmake รุ่น apt เพื่อกำหนดค่าเวอร์ชันล่าสุดของ cmake ในระหว่างกระบวนการทั้งหมดนี้ หากวิธีนี้ใช้ไม่ได้ผลโปรดแจ้งให้เราทราบในความคิดเห็น