undefined reference to the own class constructor

I have some material in my project subfolders and use include it with the full path to add:

#include 

It compiles fine, but when I try to create the object I get this error:

undefined reference to `DataServiceConfig::DataServiceConfig(QObject*)'

what I am doing wrong?

Usually, this happens when you have this in your include file:

class MyClass

{

public:

MyClass(MyThing*);

private:

MyThing * m_thing;

};

but this isn't in your MyClass.cpp:

MyClass::MyClass (MyThing * thing):

m_thing (Thing)

{

}

In other words, you have the statement - so things that use your class compile - but you do not have the implementation, the linker complains that it can't find it.

Stuart

Tags: BlackBerry Developers

Similar Questions

  • undefined reference to the symbol "_ZN2bb9ImageDataaSERKS0_".

    Has copied my Beta4 code in a new project of gold.  And got the following error message:

    undefined reference to the symbol "_ZN2bb9ImageDataaSERKS0_".

    Someone has just conclude what could be the cause?

    Looks like required libraries have changed into gold. Necessary to connect

    LIBS +=-lbb

    to make it work

  • Can't place separator reference in the private class data control

    Any reason, I can't drag and drop a splitter reference leave my block diagram to a private open class data control? Basically, I'm ignored when I let it go, even if I see an icon 'drop' after that I drag the control.

    Well, I think I got smart and just placed a generic control Refnum into the command group, and then used the VI of the server class to identify it as a separator. Interesting how I could drag and drop references to the sub-panels and other types but not a divider.

  • The linker error: undefined reference to the mmr_

    The IDE is shredded beyond ,.

    How can I add an additional library in the linker?

    Is the library - lmmrndclient?

    Help?

    C:\PlayBookProjects\SoundTest\Device-Debug/..\src/main.c:46: undefined reference to `mmr_error_info'
    src\main.o: In function `main':
    C:\PlayBookProjects\SoundTest\Device-Debug/..\src/main.c:164: undefined reference to `mmr_connect'
    C:\PlayBookProjects\SoundTest\Device-Debug/..\src/main.c:166: undefined reference to `mmr_context_create'
    C:\PlayBookProjects\SoundTest\Device-Debug/..\src/main.c:168: undefined reference to `mmr_output_attach'
    C:\PlayBookProjects\SoundTest\Device-Debug/..\src/main.c:170: undefined reference to `mmr_output_parameters'
    C:\PlayBookProjects\SoundTest\Device-Debug/..\src/main.c:172: undefined reference to `mmr_input_attach'
    C:\PlayBookProjects\SoundTest\Device-Debug/..\src/main.c:174: undefined reference to `mmr_play'
    C:\PlayBookProjects\SoundTest\Device-Debug/..\src/main.c:235: undefined reference to `mmr_stop'
    C:\PlayBookProjects\SoundTest\Device-Debug/..\src/main.c:236: undefined reference to `mmr_input_detach'
    C:\PlayBookProjects\SoundTest\Device-Debug/..\src/main.c:237: undefined reference to `mmr_context_destroy'
    C:\PlayBookProjects\SoundTest\Device-Debug/..\src/main.c:238: undefined reference to `mmr_disconnect'
    

    Resolved: Should link against:

    \bbndk-1.0\target\qnx6\armle-v7\lib\libmmrndclient.so

    In the project settings, under the paths and symbols-> libraries

  • The abstract class constructor

    Hello

    I can write a constructor for the abstract class, but I can't create the object. So, what's the point of this?

    Please guide me.

    Ankur Raiyani wrote:
    Hello

    I can write a constructor for the abstract class, but I can't create the object. So, what's the point of this?

    Abstract class can have instance variables. To initialize the instance variables of the class super (abstract class) of upper class, we use the constructor in the upper class (abstract class).

    Super() can be used here. For example,.

    public abstract class ClassA {
         int a;
         ClassA(int x) {
              a = x;
         }
    }
    
    public class ClassB extends ClassA {
         int b;
         ClassB(int x, int y) {
              super(x);
              b =y;
         }
    }
    

    Published by: Ram on July 29, 2011 16:03

    Published by: Ram on July 29, 2011 16:04

  • Pass parameters to the Java class constructor in the Task Scheduler

    Hi all

    I wrote a Java (MySechudler) class that extends from 'SchedulerBaseTask '. This class is configured to run in "IOM-Task Scheduler", and within this class, I update the table in a database.
    The connection string to the database is considered to be a parameter to the constructor of the class 'MySechudler '.

    If I hard code the connection string and use a default constructor, it works well, but if I use a parameterized constructor, and try to pass the attribute, it will give an exception. I am doing wrong?

    If someone can tell me, how can I pass the value to my class of Java through "IOM Task Scheduler?

    HERE
    Thirlk

    private String getAttributeWithDefaultValue (String s, String s1) {}
    String s2 = getAttribute (s);
    If (s2 == null: s2.equals("")) {}
    return of s1;
    } else {}
    return s2;
    }
    }

    public void init() {}
    dataProvider = getDataBase();
    String uid = getAttributeWithDefaultValue("Attribute_Name",_"").trim();
    }

    Place this code in your task scheduler class and pass through Task Scheduler attribute setting such as:
    Value name

    User name attribute ID

  • How to access the inner class fields in refleciton?

    I have:
    class Outer {
        class Inner {
            int field;
        }
        Inner inner;
    }
    I use reflection to get the Outer.field field and recognize that it is a reference to the inner class. What should I do to get the inner.field (or something that looks remotely like this at Inner.field)?

    We would like to

    Well, precedent is too messy for me even follow my example. I've simplified it, and I think I found where my error was. I suspect that you were doing a similar error:

    package scratch;
    
    import java.lang.reflect.Field;
    
    public class Scratch {
    
      public static void main(String[] args) throws Exception {
        new Scratch().go();
      }
    
      void go() {
        Outer1 o1;
    
        Field[] fields = Outer1.class.getDeclaredFields ();
    
        for (Field field : fields) {
    
          final String fn = field.getName ();
          final Class ft = field.getType ();
          final Class fc = field.getClass ();
          final Class fdc = field.getDeclaringClass ();
    
          System.out.println ();
    
          System.out.println ("Outer1 field : " + fn);
    
          System.out.println ();
    
          System.out.println ("field's class (field.getType()) : " + ft.getName());
          System.out.println ("field.getType().isMemberClass() (" + ft.getName() +" isMemberClass()) : " + ft.isMemberClass ());
          System.out.println ("field.getType(). getDeclaringClass() (" + ft.getName() + "'s declaring class) : " + fdc);
    
          System.out.println ();
    
          System.out.println ("field.getClass()) : " + fc.getName());
          System.out.println ("field.getClass().isMemberClass() (" + fc.getName() +" isMemberClass()) : " + fc.isMemberClass ());
          System.out.println ("field.getClass().getDeclaringClass() (" + fc.getName() + "'s declaring class) : " + fc.getDeclaringClass ());
    
          System.out.println ();
    
          System.out.println ("Note the difference between Field.getClass() (" + field.getClass () + ") and Field.getType() (" + field.getType() + ")");
    
          System.out.println ();
        }
      }
    }
    
    class Outer1 {
      class Inner1 {
      }
    
      Inner1 i1;
    }
    
    Outer1 field : i1
    
    field's class (field.getType()) : scratch.Outer1$Inner1
    field.getType().isMemberClass() (scratch.Outer1$Inner1 isMemberClass()) : true
    field.getType(). getDeclaringClass() (scratch.Outer1$Inner1's declaring class) : class scratch.Outer1
    
    field.getClass()) : java.lang.reflect.Field
    field.getClass().isMemberClass() (java.lang.reflect.Field isMemberClass()) : false
    field.getClass().getDeclaringClass() (java.lang.reflect.Field's declaring class) : null
    
    Note the difference between Field.getClass() (class java.lang.reflect.Field) and Field.getType() (class scratch.Outer1$Inner1)
    

    field.getClass () does NOT get the class of the field. It get the class of the field object that points to the field reference variable, which is always java.lang.reflect.Field. To get the class of the field, use field.getType ().

    Do you see the difference?

    Edited by: jverd February 5, 2011 17:18

  • To access the upper class instance variables

    Hello

    See the code provided below. If home * variable 'i' is not set to 4, the output will be 3, if it is set, it will be 4.
    My question is... Well, I don't know exactly, there would be a lot. All this is strange to me.
    (For example, it seems that for the super class constructor runs when I access an instance of her variable).
    Could someone explain this topic or maybe help me to direct to an article?
    public class TryThis {
        
        public static void main (String args[]){
    
             Child c = new Child();
             c.seeSuper();   
        }
    }
    
    public class Parent {
    
         int i;
         
         Parent(){
              i = 3;
         }
    }
    
    public class Child extends Parent{
    
         Child(){
              //i = 4;  //***
         }
         
         public void seeSuper(){
              System.out.println(super.i);
         }
                        
    }
    Note: Parent could also simply look like this:
    public class Parent {
         int i = 3;
    }

    I see now that it is wrong to use the word 'object '.

    No, it isn't.

    they are there for the child to use, object

    That's where you're going wrong. Don't think about "the parent" and "child object. There is only one object, and it is mentioned by "this". You should think about members of the base or the classes and members of the (current) derived class. They are all members of the 'object', but the members of the base class can be hidden by the current members of class with the same name. That's all. Nothing too special about it.

    but they aren't the fields of it.

    Yes they are, but if they are hidden by local declarations that they are not visible to 'this', only to 'super '.

  • Builders of the undefined reference and pointer...

    OK, so I tried to make this work...

    MyClass *example=new Myclass();
    

    but it's not working, I don't know what to change...

    Let's see an example:

    newClass.h

    #ifndef NEWCLASS_H_
    #define NEWCLASS_H_
    
    class newClass {
    public:
        newClass();
        virtual ~newClass();
    };
    
    #endif /* NEWCLASS_H_ */
    

    newClass.cpp

    #include "newClass.h"
    
    newClass::newClass() {
        // TODO Auto-generated constructor stub
    
    }
    
    newClass::~newClass() {
        // TODO Auto-generated destructor stub
    }
    

    applicationui.cpp

    #include "applicationui.hpp"
    
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    
    #include 
    
    using namespace bb::cascades;
    
    ApplicationUI::ApplicationUI(bb::cascades::Application *app) :
            QObject(app)
    {
        // prepare the localization
        m_pTranslator = new QTranslator(this);
        m_pLocaleHandler = new LocaleHandler(this);
        if(!QObject::connect(m_pLocaleHandler, SIGNAL(systemLanguageChanged()), this, SLOT(onSystemLanguageChanged()))) {
            // This is an abnormal situation! Something went wrong!
            // Add own code to recover here
            qWarning() << "Recovering from a failed connect()";
        }
        // initial load
        onSystemLanguageChanged();
    newClass *temp=new newClass();
    
    }
    
    void ApplicationUI::onSystemLanguageChanged()
    {
        QCoreApplication::instance()->removeTranslator(m_pTranslator);
        // Initiate, load and install the application translation files.
        QString locale_string = QLocale().name();
        QString file_name = QString("FirstAppAlone_%1").arg(locale_string);
        if (m_pTranslator->load(file_name, "app/native/qm")) {
            QCoreApplication::instance()->installTranslator(m_pTranslator);
        }
    }
    

    error:

    C:\Users\imnotgoingtotellyoumyuser\ndk-10.2-workspace\FirstAppA\x86/../src/applicationui.cpp:93: undefined reference to `newClass::newClass()'
    

    When files are added to the project, IDE adds them to the .pro or .pri file.

    But this is not enough. Qmake must be launched to regenerate the Makefile file that is used for compiling. It seems that this step was not built in IDE, so clean & reconstruction is necessary.

    I will test it and submit a JIRA ticket if this is the case.

    UPD: confirmed. https://www.BlackBerry.com/jira/browse/tool-2393

  • Failed to create the reference to the FXMLLoader controller: "no constructor appropriate."

    Greetings,

    I'm in my first two days, experimenting with JavaFX.

    I am trying to create a reference to my controller class to in my routine of starting application. All the posts I've seen on this call to the code as follows:
     FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("MyFXML.fxml")); 
    But in my NetBeans IDE editor this code reports the error "no suitable constructor found for FXMLLoader (java.net.URL)."

    The documentation for the FXMLLoader class undeniably a constructor FXMLLoader (java.net.URL). However, when I access the NetBeans source code, this constructor does not show: the only options are FXMLLoader() and FXMLLoader (Charset arg0).

    I use NetBeans 7.1.2 ee version. I was using JavaFX 2.0, then downloaded the SDK 2.2 JavaFX (beta) to see if it would make a difference - she didn't.

    Any ideas would be very appreciated.

    Hello

    My guess would be that NetBeans resumes still jars of JavaFX 2.0 instead of JavaFX 2.2

    I would say that play with the properties of your project: examine the library dependencies and the platform.
    If you use a Default_JavaFX_Platform then check where it picks up JavaFX (click on 'manage the platform' and look in the JavaFX tab).
    Sometimes, NetBeans is confused and will resume the 2.2 SDK with the 2.0 runtime - check if really all paths!

    Hopes this helps,

    -daniel

    Published by: daniel June 13, 2012 06:18

  • Typedef reference FPGA not updated in the private class data

    I have a FPGA reference related to a typedef that is passed in a LVOOP object. If I change the FPGA of computer simulation of dev to the use of the actual hardware, all references to the typedef are updated which are controls on a diagram. But the typedef in my private class data seems not not to date, so I'm broken son until I replace the control to private data of my class with a copied from my block diagram. Has anyone seen this? Is there a CAR already? I can create a small project to reproduce if necessary.

    Edit: this also seems to happen when I change bitfiles or change to open a VI a bitfile opening in the Configure dialog box open FPGA VI.

    Hi Greg,.

    I was able to reproduce your problem thanks to your easy to follow instructions.

    I noticed that type def successfully by checking "Bind FPGA host of reference to the type definition" in the open FPGA VI reference configuration. What does not automatically update is the Issue.ctl of OBJECT-oriented programming, which has a nested type definition in the private data reference.

    The fastest solution, that I could find was to right click on "Issue.ctl" in the project, and then click Save. This problem immediately solved the broken wire error.

    While configuring open FPGA VI reference has the practical ability to bind to the def of type, it does not broadcast this change to data private to the class. I call not this bug, but I can see how you want it works this way.

    I would recommend you post that on theExchange of ideas (I see you're already regularly here).

  • Passing an object of the UiApplication class reference

    Hi all

    I am very new to the development of BB and have struggled for hours on something that I think should be very simple. What I have, this is the main class that extends UiApplication and a second class that implements Runnable. From a method in the UiApplication class, I create an instance of the Runnable class. After that, I call a method to start from this class and pass an object originally from the UiApplication class reference - so that I can call a method, once completed the processing of the Runnable class.

    The problem I have, is that once past the object through a call to method reference, the reference instantly cancels and causes a NullPointer exception when trying to call a method in the original class. The structure is as below, but with all the surrounding code subscribed:

    public class MainApp extends UiApplication {
    
        MainApp _MainApp;
        OtherClass _OtherClass;
    
        public static void main(String[] args) {
        MainApp _MainApp = new MainApp();
        _MainApp.enterEventDispatcher();
        }
    
        private void createOtherClass() {
            _OtherClass = new OtherClass();
            _OtherClass.someMethod(_MainApp);
        }
    
        public void response() {
            // code here
        }
    }
    
    public class OtherClass implements Runnable {
    
        MainApp _MainApp;
    
        public void someMethod(MainApp MainAppRef) {
            _MainApp = MainAppRef;
            // _MainApp object reference is null here
    
            new Thread(this).run();
        }
    
        public void run() {
            // stuff here
            // once done, call a different method
            sendDetailsBack();
        }
    
        public void sendDetailsBack() {
            _MainApp.response(); // causes a NullPointerException
        }
    }
    

    I rewrote this to only show the code at the source of the problem. I don't quite understand why the object reference is not passed correctly - I have tried many other ways to call back to the UiApplication function, including static calls.

    Any help on how I do it is very appreciated!

    Will be

    I suspect that your problem is here:

    MainApp _MainApp = new MainApp();

    I think you meant just

    _MainApp = new MainApp();

  • ORA 12 c install error on openSuse: reference to the "__tls_get_addr@@GLIBC_2.3" undefined symbol

    Hello world

    I know that Oracle does not support the OpenSuSE, but all previous versions of the database has worked.

    With Oracle 12 c, the installation fails. I get the error below.

    No doubt someone has a useful idea?

    Yours, user8632123.

    NEWS: make f /home/oracle/base/rdbms/12.101/precomp/lib/ins_precomp.mk to reissue EXENAME = proc

    INFO: make [1]: Entering directory ' / home/oracle/base/rdbms/12.101/precomp/lib'

    INFO: Link /home/oracle/base/rdbms/12.101/precomp/lib/proc

    INFO: usr/lib64/gcc/x86_64-suse-linux/4.7/... /... /.. /.. (/ x86_64-SUSE-Linux/bin/LD: home/oracle/base/rdbms/12.101/lib//libnls12.a(lxhlang.o): reference to the "__tls_get_addr@@GLIBC_2.3" undefined symbol
    usr/lib64/GCC/x86_64-SUSE-Linux/4.7/... /... /.. /.. / x86_64-SUSE-Linux/bin/LD: Note: '__tls_get_addr@@GLIBC_2.3' is defined in OSR /lib64/ld-linux-x86-64.so.2 try so add to the linker command line
    /lib64/ld-linux-x86-64.so.2: could not read symbols: invalid operation

    INFO: collect2: error: ld returned 1 exit status

    INFO: / bin/chmod: can't access to ' / home/oracle/base/rdbms/12.101/precomp/lib/proc'
    INFO: no such file or directory

    INFO: make [1]: leaving directory ' / home/oracle/base/rdbms/12.101/precomp/lib'

    INFO: make [1]: * [/ home/oracle/base/rdbms/12.101/precomp/lib/proc] error 1

    NEWS: make: * [proc] error 2

    I use opensuse 12.3 and I have this error too.

    My solution is

    (1) backup (ORACLE_HOME) / lib/stubs, and then delete.

    (2) change RMAN_LINKLINE in the {ORACLE_HOME}/rdbms/lib/env_rdbms.mk file

    TO

    RMAN_LINKLINE = $(LINK) $(OPT) $(S0MAIN) $(SSKRMED) $(SKRMPT).

    $(LLIBDBTOOLS) $(LLIBCLIENT) $(LLIBSQL) $(LLIBPLSQL).

    $(LLIBSNLSRTL) $(LLIBUNLSRTL) $(LLIBNLSRTL).

    $(LLIBSLAX) $(LLIBPLSQL) $(LIBPLCN) $(LINKTTLIBS) - lons

    (3) all reissue them.

  • Error: Unable to get the 'platform' of undefined reference property or null

    I am updating a Web site on a computer that had Dreamweaver Cs4 installed as a transfer file from another computer. I get an error (unable to get the 'platform' of undefined reference property or null). The current computer has Windows7. How to upgrade to the operation of the platform within the program? What is the problem?

    What are you trying to do exactly?

    Files created in DW are not specific platform (they are just .html, .css, .js, etc.), but the program itself is when it's one of the older versions of perpetual license / disc.

    Adobe does not swap the platform for something else that current versions, however the current version (PCOC 2014) is not really specific platform more since you can have it installed on two machines, regardless of the platform. So, basically, ranking/cross-platform interchange is not permitted more.

    Product order | Platform, language Exchange

  • addEventListener leads to 1119: access to property may be undefined "myEvent" through a reference with static type class

    I use a main application mxml and a component

    I said a metatag in the component

    [Event(name ="myEvent"type ="events.myEvent")]

    I have this hurry of the component

    I have a listener on the main application

    componentid.addEventListener (Event.MyEvent, gotoMyFunction, true);

    I get a compile error, no matter what I do

    1119: access of property may not set through a reference with static type class

    Any ideas. I had at least 3 examples and in all cases I end up with the same result

    Put [event (name = "myLoadDoneEvent" type = "events.loadDoneEvent")] before the class declaration:

    public class loadDoneEvent extends event

    [Event (name = "myLoadDoneEvent" type = "events.loadDoneEvent")]

    If this post answers your question or assistance, please mark it as such.

Maybe you are looking for