Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > NetBeans не компилирует welcome пример


Автор: маерсон 3.11.2009, 15:53
Странно получается. Создаю из предложенного пример Welcome. Все компилируется, но стоит создать в проекте и подключить к welcome.cc файл(.h) любого класса, то вылезают ошибки undefined reference to. Не пойму что такое, раньше работало(на эклипс, правда) норм. 

NewClass.h:
Код

#ifndef _NEWCLASS_H
#define    _NEWCLASS_H

class NewClass {
public:
    NewClass();
    NewClass(const NewClass& orig);
    virtual ~NewClass();
private:

};

#endif    /* _NEWCLASS_H */


NewClass.cpp:
Код

#include "NewClass.h"

NewClass::NewClass() {
}

NewClass::NewClass(const NewClass& orig) {
}

NewClass::~NewClass() {
}


welcome.cc:
Код

#include <iostream>
#include "NewClass.h"

int main(int argc, char**argv) {
    NewClass n;
    // Prints welcome message...
    std::cout << "Welcome ..." << std::endl;

    // Prints arguments...
    if (argc > 1) {
        std::cout << std::endl << "Arguments:" << std::endl;
        for (int i = 1; i < argc; i++) {
            std::cout << i << ": " << argv[i] << std::endl;
        }
    }
    
    return 0;
}


Вот. В output:
Код

/usr/bin/gmake -f nbproject/Makefile-Debug.mk SUBPROJECTS= .build-conf
gmake[1]: Entering directory `/home/kenny/NetBeansProjects/Welcome_1'
/usr/bin/gmake  -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/welcome_1
gmake[2]: Entering directory `/home/kenny/NetBeansProjects/Welcome_1'
mkdir -p dist/Debug/GNU-Linux-x86
g++     -o dist/Debug/GNU-Linux-x86/welcome_1 build/Debug/GNU-Linux-x86/welcome.o  
build/Debug/GNU-Linux-x86/welcome.o: In function `main':
/home/kenny/NetBeansProjects/Welcome_1/welcome.cc:34: undefined reference to `NewClass::NewClass()'
/home/kenny/NetBeansProjects/Welcome_1/welcome.cc:46: undefined reference to `NewClass::~NewClass()'
/home/kenny/NetBeansProjects/Welcome_1/welcome.cc:46: undefined reference to `NewClass::~NewClass()'
collect2: выполнение ld завершилось с кодом возврата 1
gmake[2]: *** [dist/Debug/GNU-Linux-x86/welcome_1] Ошибка 1
gmake[2]: Leaving directory `/home/kenny/NetBeansProjects/Welcome_1'
gmake[1]: *** [.build-conf] Ошибка 2
gmake[1]: Leaving directory `/home/kenny/NetBeansProjects/Welcome_1'
gmake: *** [.build-impl] Ошибка 2
BUILD FAILED (exit value 2, total time: 217ms)

Автор: SenkraD 3.11.2009, 16:27
Я не вижу в логе компиляции NewClass.cpp.
О чём линкер и заявляет

Автор: маерсон 3.11.2009, 17:43
Но класс ведь создаю в самом проекте, почему он его не компилирует?

Автор: andrew_121 3.11.2009, 18:21
Цитата(маерсон @  3.11.2009,  17:43 Найти цитируемый пост)
Но класс ведь создаю в самом проекте, почему он его не компилирует? 

хз. а он есть в проекте? т.е. присутствует ли он в структуре проекта?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)