ฉันจะเผยแพร่แอปพลิเคชัน Gtkmm บน Windows ได้อย่างไร

ฉันได้เขียน GUI โดยใช้ gtkmm (ตัวห่อภาษา C ++ สำหรับ GTK +) ฉันสามารถค้นหา. dll ที่เป็น. exe ได้ ไฟล์นั้นขึ้นอยู่กับและสร้างตัวติดตั้งพื้นฐานโดยใช้ NSIS อย่างไรก็ตาม ฉันประสบปัญหาในการเผยแพร่แอปพลิเคชันไปยังอุปกรณ์ Windows อื่นๆ เนื่องจากฉันยังใหม่กับเรื่องนี้ มีใครมีคำแนะนำเกี่ยวกับวิธีการแจกจ่ายแอปพลิเคชันอย่างถูกต้องหรือไม่ สิ่งที่ฉันต้องทำคือดาวน์โหลดลงในพีซีเครื่องอื่นสองสามเครื่อง ขอบคุณ!


person Liam Ward    schedule 13.07.2020    source แหล่งที่มา
comment
คุณต้องแจกจ่ายไลบรารีรันไทม์ของคอมไพลเลอร์และไลบรารีอื่น ๆ ที่คุณใช้พร้อมกับโปรแกรมของคุณ   -  person Jesper Juhl    schedule 13.07.2020
comment
คุณดำเนินการติดตั้งในเครื่องอื่นและใช้งานได้หรือไม่ เป็นแอปพลิเคชันที่ล้มเหลว?   -  person Manuel    schedule 13.07.2020
comment
@Manuel หากฉันไม่รวม. dll แอปพลิเคชันจะล้มเหลวและแจ้งว่า ____.dll หายไปสำหรับไฟล์ใดก็ตามที่ไม่พบ แต่เมื่อฉันรวมไฟล์ .dll ทั้งหมดในไดเร็กทอรีเดียวกันกับไฟล์ .exe แอปพลิเคชันจะล้มเหลวโดยมีข้อผิดพลาดเกี่ยวกับ Gdk   -  person Liam Ward    schedule 13.07.2020
comment
@LiamWard คุณช่วยแสดงข้อผิดพลาดได้ไหม?   -  person Manuel    schedule 13.07.2020
comment
@Manuel ขอบคุณสำหรับความช่วยเหลือของคุณ ข้อผิดพลาด Gdk ที่ฉันได้รับเมื่อไฟล์ .dll ทั้งหมดรวมอยู่ในไดเร็กทอรีเดียวกันกับ .exe ถูกยกเลิกการเรียกหลังจากโยนอินสแตนซ์ของ Gdk::PixbufError อย่างไรก็ตาม ข้อผิดพลาดนั้นไม่แสดงบนเครื่องเดิมที่ฉันพัฒนาแอปพลิเคชันนี้ และฉันได้ตรวจสอบว่ารูปภาพทั้งหมดที่ฉันโหลดอยู่ในไดเรกทอรีเดียวกันกับ .exe   -  person Liam Ward    schedule 13.07.2020
comment
@JesperJuhl มีวิธีใดบ้างที่จะทราบว่าฉันต้องรวมไฟล์ใดบ้าง?   -  person Liam Ward    schedule 13.07.2020
comment
@LiamWard รายการยาวเกินไปที่จะแสดงที่นี่ แต่คุณมีที่นี่ ในส่วนรายการไฟล์เนื้อหา Bundle   -  person Manuel    schedule 14.07.2020


คำตอบ (1)


ลองจับข้อยกเว้นและดูที่ Gdk::PixbufError::code() หรือ Gdk::PixbufError::what() เพื่อดูว่าเหตุใดจึงเกิดข้อผิดพลาด

คุณมีหลายรหัส:

  CORRUPT_IMAGE,
  INSUFFICIENT_MEMORY,
  BAD_OPTION,
  UNKNOWN_TYPE,
  UNSUPPORTED_OPERATION,
  FAILED,
  INCOMPLETE_ANIMATION

รูปภาพในเครื่องพัฒนาอยู่ในไดเร็กทอรีเดียวกันกับ build .exe?

นอกจากนี้ หากคุณเรียกใช้แอปจากไอคอน ทางลัด หรือที่คล้ายกัน ไดเรกทอรีปัจจุบันอาจไม่เหมือนกับ .exe

person Manuel    schedule 13.07.2020