CopperSpice Overview  1.5.2
Troubleshooting
  • Working Makefiles for the Diamond and KitchenSink projects can be referenced when creating your project files. Full source, including all project files are available in the source distribution for these projects.

    Diamond
    KitchenSink

  • Key details regarding the working project Makefiles for KitchenSink and Diamond. It is perfectly acceptable to modify the Makefiles and alter any of the following details. We suggest building with our configuration before making any major changes.

    • The .ui files must be located in 'yourApp/forms'
    • Resource files must be located in 'yourApp/resources'
    • Running 'make deploy' copies the application files to 'yourApp/deploy'.
      • Unix - all of the files necessary to run are copied to the deploy folder
      • Windows - only the dll and exe files are copied to the deploy folder
      • Mac OS X - a DMG is built and a bundle is created in the deploy folder
    • Running 'make install' copies files as shown
      • Unix - copies everything except the library files to $prefix, which is /usr/local by default
      • Windows - every file required for distribution is copied to 'yourApp/install'
      • Mac OS X - copies everything except the library files to $prefix, which is /usr/local by default


  • The Qt Creator form editor has an issue locating the resource or qrc file when specifying an icon. Right click on the icon field and paste in the location of your qrc resource. For example, if plus.png is an image in your resource folder, paste in the following:

    :/resources/plus.png

  • When building CopperSpice on Windows, the environment path should be adjusted so Autotools uses the 'install' program from c:\msys\bin. The path shown below adds MSys and MinGW to your environment. Bash uses a colon as the separator instead of a semicolon.

    /bin:/c/MinGW/bin

  • void MyClass::someMethod() cannot be overloaded

    1 private:
    2  void someMethod(bool ok,int data);
    3 
    4  CS_SLOT_1(Private, void someMethod(bool ok,QString data))
    5  CS_SLOT_2(someMethod)

    Review the class declaration for a method called someMethod() and a Signal or Slot which references the same method name. Refer to CS Slot Overload.

  • GCC Error message
    decltype cannot resolve address of overloaded function

    Refer to the previous issue.

  • Runtime Error message
    (CopperSpice)   Method registration for overload was not found in the Map
    (CopperSpice)   MyClass::someMethod() : Unable to register method pointer, verify signal/slot

    Review the CS_SIGNAL_1() and CS_SLOT_1() declarations for a signature mismatch.

  • Runtime Error message
    QObject::connect() SomeClass::someSignal(const QString &)   Unable to connect to receiver in Ginger(ginger.cpp:42)
    Signal Index: 5   Slot Index: -1

    The signature for all Signals and Slots must agree. If an index value is -1 then review the signature for the Signal and Slot.