จะว่าไป C/C++ เป็นภาษาเดียวในชีวิตที่ไม่ต้องเปิดคู่มือ (นอกจาก features ใหม่ๆ บางตัวใน C++11)
ทำให้สะท้านเหมือนกัน ตอนเรียน Go (lang) ก็ชอบวิธีการ assignment อย่าง
X := 12 // X เป็น Integer
ใน C++11 ก็มี
auto X = 12;
ตอนปี 2008 ผมเคยซื้อ Library Qt ตอนนั้น พึ่งจะเป็น Release version 4.0 มีลูกค้าจ้างพัฒนาโปรแกรมสอง Platform ตือ OSX และ Windows ตัดสินใจจ่ายค่า Library ให้กับ Troll ไป เกือบสองแสนบาทสำหรับ สอง Platform
สถานะ Qt ตอนนี้ มันสุดยอดจริงๆ นอกจากเขียนบน Linux, OSX, Windows ได้แล้ว ยัง Cross compile ไป iOS และ Android ได้อีก
Android นี่สะดวกกว่าเพื่อน เขียนได้ทั้งบน Linux, OSX และ Windows เลย ส่วน iOS ต้องเขียนบน OSX
ตอนนี้ได้กลับมาใช้อีก ดีจัง (ตังค์อยู่ครบ)
แเละเหมือนเดิมคือ Oracle Call Interface สำหรับ Qt (QOCI) ไม่สามารถใช้ได้ ต้อง Build เอง เพราะต้องไป download OCI Library และรับทราบ License agreement ของ Oracle ก่อน
วิธี Build QOCI บน OSX
download instanceclient มาจาก Oracle.com ตาม blog ก่อนหน้านี้ http://nanusorn.blogspot.com/2014/02/build-oracle-call-interface-golang.html
เวลา install Qt 5.2.x จะอยู่ที่ ~/Qt5.2.1 ให้ change directory ไปที่ ~/Qt5.2.1/5.2.1/Src/qtbase/src/plugins/sqldrivers/oci
$ export PATH=$PATH;~/Qt5.2.1/5.2.1/clang_64/bin
เรียก qmake สร้าง Makefile ใน folder ~/Qt5.2.1/5.2.1/Src/qtbase/src/plugins/sqldrivers/oci
$ qmake -o Makefile
แก้ Makefile.Release และ Makefile.Debug
โดยเพิ่ม -I/usr/lib/instantclient_11_2/sdk/include ที่ท้ายบรรทัด INCPATH
และ
เพิ่ม LFLAGS += -L/usr/lib/instantclient_11_2 -lclntsh ใต้บรรทัด LFLAGS
แล้วเรียก
$ make
วิธีนี้ง่ายสุด เร็วสุด ไม่ต้อง re-build Qt ทั้งตัว...
---------------------------------------------------------------
ถาม : กลับมาเขียน Qt เพื่อ?
ตอบ : เพื่อต้องการใช้ C++ เขียน Consumer สำหรับ rabbitMQ
ถาม : แค่นี้หรือ?
ตอบ : ป่าวจะเอาไปเขียน Client Application บน Cubieboard ด้วย
ถาม : แล้วอย่างอื่นล่ะ?
ตอบ : ตอนนี้สนใจเอามาใช้พัฒนา Web Application ด้วยนะ เช่น
- Cutelyst ที่เรียนแบบ Catalyst, Perl framework
- qdjango ที่เรียนแบบ Django framework
- กบสามตัว (แต่หน้าเวป เห็นอยู่ตัวเดียว)
ตอบจริงๆ : ที่ว่ามาน่ะ ตอบเล่นๆ :p แต่เล่นจริงๆ นะ ปี๊ดส์ เลย
ไม่มีความคิดเห็น:
แสดงความคิดเห็น