Các bài trả lời Duong_Act

Thảo luận trong 'Máy tính khác' bắt đầu bởi Duy Luân, 18/8/19. Trả lời: 84, Xem: 26161.

  1. Duong_Act

    Tham gia:
    14/10/13
    Được thích:
    2,128
    Best Answers:
    0
    Duong_Act
    CAO CẤP
    Mình đang cần viết App C++ trên môi trường QT Linux Desktop rồi post sang Pi mà mãi chưa được.
    Bác nào làm rồi xin chỉ giáo :)
     
    1. JohnSirius

      Tham gia:
      27/2/17
      Được thích:
      43
      Best Answers:
      0
      JohnSirius
      ĐẠI BÀNG
      JohnSirius
      @Duong_Act Trên mạng rất nhiều hướng dẫn về việc Cross Compile từ Qt trên Ubuntu sang Pi, nó cũng dễ thực hiện. Tóm lại là tải mã nguồn Qt về rồi biên dịch chéo cho lõi ARM, sau đó sync sang Pi. Cuối cùng cấu hình Qt Creator để thêm một profile nữa cho General Linux Device, biên dịch bên PC và đẩy sang Pi qua mạng LAN.
      Mình dùng Ubuntu 19, Qt 5.13, Pi 3B
       
      Duong_Act thích nội dung này.
    2. Duong_Act

      Tham gia:
      14/10/13
      Được thích:
      2,128
      Best Answers:
      0
      Duong_Act
      CAO CẤP
      Duong_Act
      @JohnSirius Các hướng dẫn đó đa phần là trên phiên bản khá cũ. Một số hướng dẫn không còn giống các phiên bản hiện tại và tất cả đều lỗi giữa chừng, rất khó fix.
      Mình đang dùng Ubuntu 18 QT 5.12 Pi3 B+.
      Bác có link nào đã làm thành công chia sẻ cho mình phát.
      Mà bác đã làm trên Orange Pi chưa ?
       
    3. JohnSirius

      Tham gia:
      27/2/17
      Được thích:
      43
      Best Answers:
      0
      JohnSirius
      ĐẠI BÀNG
      JohnSirius
      @Duong_Act https://mechatronicsblog.com/cross-compile-and-deploy-qt-5-12-for-raspberry-pi/
       
      Duong_Act thích nội dung này.
    4. Duong_Act

      Tham gia:
      14/10/13
      Được thích:
      2,128
      Best Answers:
      0
      Duong_Act
      CAO CẤP
      JohnSirius thích nội dung này.
    5. JohnSirius

      Tham gia:
      27/2/17
      Được thích:
      43
      Best Answers:
      0
      JohnSirius
      ĐẠI BÀNG
      JohnSirius
      @Duong_Act Chắc chắn nó có thì mình mới làm được chứ, vì cái qt-anywhere nên phải có mới gọi là anywhere.
       
      Duong_Act thích nội dung này.
    6. Duong_Act

      Tham gia:
      14/10/13
      Được thích:
      2,128
      Best Answers:
      0
      Duong_Act
      CAO CẤP
      Duong_Act
      @JohnSirius Mình kiểm tra lại thì có rồi. Chắc do hôm qua vào nhầm đường dẫn.
      Câu lệnh config trong mục 6 này có đoạn này "device linux-rasp-pi-g++". Mình có cần đổi lại thành "device linux-rasp-pi3-g++" để config cho RPi 3B+ hay không bác?
      Hôm nay em thử trên con PC khác Ubuntu 19 mà chưa có RPi nên bỏ qua bước 1,2, và bước rszync 4 và nó báo lỗi. :(
       
    7. JohnSirius

      Tham gia:
      27/2/17
      Được thích:
      43
      Best Answers:
      0
      JohnSirius
      ĐẠI BÀNG
      JohnSirius
      @Duong_Act Của mình đang là linux-rasp-pi-g++ cho Pi 3B, phải có các bước trước thì mới config được.
       
      Duong_Act thích nội dung này.
    8. Duong_Act

      Tham gia:
      14/10/13
      Được thích:
      2,128
      Best Answers:
      0
      Duong_Act
      CAO CẤP
      Duong_Act
      @JohnSirius Chào bác !
      Em đã config OK và viết chương trình đầu tiên. Đã build được OK và thấy xuất hiện file thực thi nhưng đến bước chạy trên RPi thì QT báo lỗi "mkdir permission denied" khi tạo và copy vào thư mục /opt của RPi.
      Điều tra thêm thì họ bảo không đủ quyền truy cập vào /opt của RPi và nên move sang thư mục khác.

      Kiểm tra phần RUN của QT thì nó thế này (chỗ khoanh đỏ) nhưng lại không thay đổi được:
      Bác cứu em :(
      Đang tải upload_2019-8-24_11-2-13.png…
       
    9. JohnSirius

      Tham gia:
      27/2/17
      Được thích:
      43
      Best Answers:
      0
      JohnSirius
      ĐẠI BÀNG
      JohnSirius
      @Duong_Act Quá đơn giản.
      Bạn SSH vào pi rồi chạy:
      sudo chown -R pi: pi /opt (bỏ dấu cách chỗ pi-pi)
      sudo chmod -R 775 /opt
      Sau đó vẫn dùng opt chứ không chuyển đi đâu.
       
      Duong_Act thích nội dung này.
    10. Duong_Act

      Tham gia:
      14/10/13
      Được thích:
      2,128
      Best Answers:
      0
      Duong_Act
      CAO CẤP
      #83 Duong_Act, 25/8/19
      Sửa lần cuối: 25/8/19
      Duong_Act
      @JohnSirius Chào bác !
      Làm theo cách bác chỉ nó đã OK nhưng mà nó hiện lỗi mới liên quan đến plugin:
      Code:
      09:54:07: Starting /opt/HelloWorld/bin/HelloWorld ...
      qt.qpa.plugin: Could not find the Qt platform plugin "eglfs" in ""
      This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
      Available platform plugins are: linuxfb, minimal, offscreen, vnc, webgl, xcb.
      09:54:07: Remote process crashed.
      
      Và nó lại không có các thư viện chuẩn string, iostream...

      Em phải vnc vào pi rồi double click để chạy thử cực quá. Bác có giải pháp xin chỉ giáo em với.
       
      #83 Duong_Act, 25/8/19
      Sửa lần cuối: 25/8/19
    11. JohnSirius

      Tham gia:
      27/2/17
      Được thích:
      43
      Best Answers:
      0
      JohnSirius
      ĐẠI BÀNG
      JohnSirius
      @Duong_Act Cái này do bước thay thế ở file qmake.conf trước khi biên dịch. Bạn cần xóa tất cả và làm lại, phải đảm bảo replace
      -lEGL = -LGLESv2
      -lbrcmEGL = -lbrcmGLESv2
       
      Duong_Act thích nội dung này.
    12. Duong_Act

      Tham gia:
      14/10/13
      Được thích:
      2,128
      Best Answers:
      0
      Duong_Act
      CAO CẤP
      Duong_Act
      @JohnSirius Cảm ơn bác !
      Để tối về em thử lại.

      Còn vụ nó chỉ include được các header của QT còn các header thư viện chuẩn nó không thể tìm thấy.
      Em có kiểm tra trên Pi thì thư viện chuẩn nằm trong /usr/local/include/c++/8 và đồng bộ rsync rồi.
      Trên PC tìm trong raspi/sysroot/usr/local/include/c++/8 cũng có.
      Nếu thêm INCLUDEPATH=home/username/raspi/sysroot/usr/local/include/c++/8 vào QT thì include được nhưng báo rất nhiều lỗi liên quan đến các flag, define.
      Nhờ bác giúp em với @@.
       
Đang tải...