LINUX.ORG.RU

NetBeans/C++


0

0

OS : MacOS X 10.5.2

Пишу небольшой проектик на сях.. Начинал писать его в XCode, потом перенес в NetBeans, тупым ипортом *.cpp и *.h модулей. В связи с тем, что XCode уже порядком осточертел своими подходами к понятиям "удобного интерфейса".

Начал я писать в NetBeans и заметил странную фичу :

К примеру есть у нас связка sample.cpp и sample.h.
объявляем в sample.h ф-ю :

void helloworld();

Реализовываем ее в sample.cpp

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

void helloworld()
{
std::cout<< "Hello World" << std::endl;
}

Далее вызываем эту ф-ю в main.cpp

include "sample.h"

int main(int argc, char**argv)
{
helloworld();
}


.... и компилятор ругается, то что "main.cc:50: error: 'helloworld' was not declared in this scope". Причем с теми функциями, что я написал еще в XCode такого не происходит. Где я туплю???

★★★★★

sample.h:

#ifndef SAMPLE_H
#define SAMPLE_H

void helloworld(); 

#endif // SAMPLE_H



sample.cpp:

#include "sample.h"

#include <iostream> 

void helloworld() 
{ 
std::cout<< "Hello World" << std::endl; 
} 


main.cpp:

#include "sample.h" 

int main(int argc, char**argv) 
{ 
helloworld(); 

return 0;
} 

anonymous
()

выкинь мак, быдло, и все сразу поймешь

anonymous
()

Нетбинс тут, собственно, не очень при чем. Он же не собирает исходники. Максимум, что есть от нетбинса при сборке - Makefile (если свой не используешь).

Поэтому копать надо в сторону компилятора.

Под гентой с netbeans-6.1 это собирается и работает.

anonymous
()

Xcode по умолчанию рекурсивно добавляет -I для всех папок проекта. Так что если заголовочник лежал отдельно - в процессе сборки вы этого даже не ощутите. А вот в NetBeans похоже сборка происходит правильно. Посмотрите нет ли перед этой ошибкой другой ошибки - про отсутствие #include "sample.h".

Вообще Xcode вполне вменяемая среда разработки. Хороший подсказчик, поиск обьявлений, отличный редактор проекта, распределённая сборка искаропки, техническая сторона - на твёрдую пятёрку. Но Xcode портит примитивный по функционалу интерфейс (впрочем, как и всё остальное в макоси).

Dendy ★★★★★
()
Ответ на: комментарий от Dendy

Вообще мой вам совет.

1. Переставьте горячие клавиши как в нормальной ОС: Home & End вместо Apple+Left & Apple+Right и тому подобное.
2. Поставьте горячие клавиши на переключение Details, Build, Debug (у меня это F1, F2, F3)
3. Поставьте горячие клавиши на отладку: запуск, пауза, перепрыгнуть, зайти, выйти, остановить.
4. Выучите горячие клавиши Xcode: Apple+Doubeclick (на слове), Apple+[ & Apple+] для смещения текста, Apple+Option+Left & Apple+Option+Right для хождения по истории и тому подобное.

Если интересно - могу дать готовые настройки собственных горячих клавиш.

Dendy ★★★★★
()
Ответ на: комментарий от Dendy

> Вообще мой вам совет.

Да проблема не в горячих клавишах, а в дурацком интерфейсе Xcode. Сколько с ним не работаю, привыкнуть к такому издевательству не могу.

Справедливости ради стоит заметить, что мне вообще интерфейс в Mac OS X не нравится.

anonymous
()

Этот Netbeans даже для разработки на java не годится. Многих фич эклипсовых не хватает. А для ruby вроде ничего.

HappyCoder
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.