Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

การจัดการกับปัญหาในการรวบรวม MySQL


ปัญหาบางอย่างในการรวบรวม MySQL อาจเป็นเพราะการกำหนดค่าไม่ถูกต้อง ดังนั้น วิธีแก้ไขคือกำหนดค่าใหม่

หากเรียกใช้ CMake ทันทีหลังจากที่เรียกใช้ก่อนหน้านี้ มีความเป็นไปได้ที่จะใช้ข้อมูลที่รวบรวมจากการเรียกครั้งก่อน ข้อมูลนี้มีอยู่ใน CMakeCache.txt เมื่อ CMake เริ่มต้นขึ้น จะค้นหาไฟล์นี้และอ่านเนื้อหา (ถ้ามี) โดยถือว่าข้อมูลนั้นถูกต้อง สมมติฐานนี้จะผิดเมื่อมีการกำหนดค่าไฟล์ใหม่

ทุกครั้งที่เรียกใช้ CMake จะต้องดำเนินการ 'make' อีกครั้งเพื่อคอมไพล์ใหม่ อ็อบเจ็กต์ไฟล์เก่าจากบิลด์ก่อนหน้านี้สามารถลบออกได้ก่อน เนื่องจากไฟล์เหล่านั้นจะถูกคอมไพล์โดยใช้ตัวเลือกการกำหนดค่าที่แตกต่างกัน

เพื่อป้องกันไม่ให้ไฟล์อ็อบเจ็กต์เก่าหรือข้อมูลการกำหนดค่าถูกใช้โดยการติดตั้งปัจจุบัน จำเป็นต้องเรียกใช้คำสั่งต่อไปนี้ก่อนที่จะรัน CMake อีกครั้ง -

บนยูนิกซ์

shell> make clean
shell> rm CMakeCache.txt

บน Windows

shell> devenv MySQL.sln /clean
shell> del CMakeCache.txt

หากถูกสร้างขึ้นนอกทรีซอร์ส ไดเร็กทอรี build จะต้องถูกลบและสร้างใหม่ก่อนที่จะรัน CMake อีกครั้ง ในบางระบบ คำเตือนอาจเกิดขึ้นเนื่องจากความแตกต่างในระบบรวมถึงไฟล์

ในการกำหนดคอมไพเลอร์ C และ C++ ที่จะใช้ ตัวแปรสภาพแวดล้อม CC และ CXX สามารถกำหนดได้ ได้แสดงไว้ด้านล่าง -

shell> CC=gcc
shell> CXX=g++
shell> export CC CXX

ในการระบุแฟล็กคอมไพเลอร์ C และ C++ ของผู้ใช้ สามารถใช้ตัวเลือก CMAKE_C_FLAGS และ CMAKE_CXX_FLAGSCMake ได้

หากต้องการดูว่าผู้ใช้ต้องระบุแฟล็กใด mysql_config พร้อมกับตัวเลือก −−cflags และ −−cxxflags สามารถเรียกใช้ได้

หากต้องการดูว่าคำสั่งใดที่กำลังดำเนินการในระหว่างขั้นตอนการคอมไพล์ ให้เรียกใช้ 'make VERBOSE=1' แทนการเรียกใช้ 'make' หลังจากใช้ CMake เพื่อกำหนดค่า MySQL หากการคอมไพล์ล้มเหลว ให้ตรวจสอบว่าเปิดใช้งานอ็อพชัน MYSQL_MAINTAINER_MODE หรือไม่ โหมดนี้ทำให้คำเตือนของคอมไพเลอร์กลายเป็นข้อผิดพลาด ดังนั้น การปิดใช้งานโหมดนี้อาจทำให้การคอมไพล์เกิดขึ้นได้