Russian Qt Forum
Ноябрь 24, 2024, 00:55 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: :-1: ошибка: symbol(s) not found for architecture x86_64 на Mac OS X Lion  (Прочитано 7680 раз)
RoboSloNE
Гость
« : Декабрь 15, 2011, 20:08 »

Доброго времени суток.
Возникла проблема при написании небольшого приложения. В кратце: одна кнопка, которая запускает bash-скрипт через system().

Код:
dialog.h
Код:
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
#include <QPushButton>

class mainDialog : public QDialog
{
    Q_OBJECT

public:
    mainDialog(QWidget *parent = 0);

signals:
    void moveFiles(const QString &str, Qt::CaseSensitivity cs);

private slots:
    void mainClicked();

private:
    QPushButton *butMove;
};

#endif // DIALOG_H

move.cpp
Код:
#include <QtGui>
#include "dialog.h"

mainDialog::mainDialog(QWidget *parent)
    : QDialog(parent)
{
    butMove = new QPushButton;
    butMove->setDefault(true);
    butMove->setText("Go!");

    connect(butMove, SIGNAL(clicked()),
            this, SLOT(mainClicked()));

    setWindowTitle("Move files?");
}

void mainClicked()
{
    system("/Users/roboslone/move.sh");
}

main.cpp
Код:
#include <QApplication>
#include "dialog.h"

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    mainDialog *dialog = new mainDialog;
    dialog->show();
    return app.exec();
}


При сборке вылезают две ошибка, как позже выяснилось, вторая - следствие первой.
:-1: ошибка: symbol(s) not found for architecture x86_64
:-1: ошибка: collect2: ld returned 1 exit status

Mac OS X 10.7.2, Qt Creator 2.4.0, основан на Qt 4.7.4 (64-х битной).

На англоязычном форуме Nokia советовали подключать нужные библиотеки в файл .pro, но там все для Mac OS X 10.6, у меня не сработало.
В чем проблема и как быть?
Записан
kambala
Джедай : наставник для всех
*******
Online Online

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Декабрь 15, 2011, 20:51 »

покажи .pro файл
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
RoboSloNE
Гость
« Ответ #2 : Декабрь 15, 2011, 22:03 »

move.pro
Код:
SOURCES += \
    main.cpp \
    move.cpp

HEADERS += \
    dialog.h
Записан
RoboSloNE
Гость
« Ответ #3 : Декабрь 16, 2011, 00:11 »

Проблема решилась во время очередной перепроверки кода. Привожу ошибку ниже, вдруг кому-нибудь пригодится (хотя вряд ли Улыбающийся ):

В move.cpp слот должен называться не mainClicked(), а mainWindow::mainClicked().
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.064 секунд. Запросов: 23.