Я уже полтора года программирую на Windows, и я только начал привыкать к тому, как все работает на этой платформе, но теперь я заинтересован в разработке под Linux, и у меня было трудное время, чтобы привыкнуть к рабочему процессу, отсутствию IDE и компиляции командной строки с GCC. У меня Xubuntu 13.10 64bit, кстати ..
Чтобы протестировать воды, я сделал то, что делают многие, и написал короткую программу на языке C ++ «Здравствуй, мир».
#include <iostream>
int main()
{
std::cout << "Hello!\n";
return 0;
}
Моя первая проблема; эта программа, кажется, получает ошибку компиляции, когда я пытаюсь скомпилировать ее с помощью GCC, но она прекрасно компилируется, когда я использую компилятор G ++:
gcc hello.cpp -o hello
/tmp/ccbmUmzf.o: In function `main':
hello.cpp:(.text+0xa): undefined reference to `std::cout'
hello.cpp:(.text+0xf): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/ccbmUmzf.o: In function `__static_initialization_and_destruction_0(int, int)':
hello.cpp:(.text+0x3d): undefined reference to `std::ios_base::Init::Init()'
hello.cpp:(.text+0x4c): undefined reference to `std::ios_base::Init::~Init()'
collect2: error: ld returned 1 exit status
Что происходит здесь, GCC не может распознать, что мой код это C ++ или что-то еще?
Моя вторая проблема связана с попыткой использования библиотек: у меня сложилось впечатление, что библиотеки разработки GTK + 3.0 включены в комплект (X) ubuntu, но когда я пытаюсь следовать простому учебнику здесь , я получаю следующую ошибку из G ++:
g++ hello.cpp -o hello
hello.cpp:1:21: fatal error: gtk/gtk.h: No such file or directory
#include <gtk/gtk.h>
^
compilation terminated.
Итак, я понял, что это означает, что библиотеки для GTK + 3.0 не установлены .. Поэтому я проверил apt -я, и я действительно не видел ничего, что было бы похоже на то, что мне было нужно ... Нужно ли мне собирать GTK + 3.0 из исходного кода или есть какой-то PPA где-то, что мне нужно ??
Эти проблемы меня это очень расстраивает ... Я знаю, что многие люди клянутся рабочим процессом разработки GNU / Linux, но как человек, привыкший работать в Visual Studio, я считаю, что этот процесс несколько непрозрачный и неинтересный TIVE. Прямо сейчас я использую коврик для мыши на Xubuntu для редактирования своего кода, и, хотя он имеет синтаксис с цветовой кодировкой, кажется, что он мало что делает. Я знаю, что в конце концов мне придётся иметь дело с несколькими файлами и созданием make-файлов, и на этом этапе я боюсь этого!
Какую бы помощь вы не оказали начинающему программисту, а полный Linux / GNU noob - это очень добро пожаловать!
Прежде всего, вам не нужно соглашаться на IDE. Установите Eclipse, он доступен в Центре программного обеспечения Ubuntu. Вы также хотите установить CDT для Eclipse, который обеспечивает поддержку C / C ++. Во-вторых, я бы очень посоветовал вам сосредоточиться на C ++ и Qt, а не на C и GTK. Qt - отличная кроссплатформенная инфраструктура, в которой используются C ++ и QML (JavaScript-подобный язык для пользовательского интерфейса), и Ubuntu все больше и больше продвигается к использованию Qt для своей будущей разработки для настольных компьютеров и мобильных устройств. Эти инструменты позволят вам не только создавать красивые приложения для рабочего стола Ubuntu, но и для Android, Windows, Mac, BlackBerry и других операционных систем. Отличной IDE для Qt является QtCreator, также доступный в Центре программного обеспечения Ubuntu, вы должны проверить его в некоторых руководствах по Qt.
Чтобы ответить на ваш вопрос напрямую, даже если я настоятельно рекомендую сделать то, что я изложил выше, вам, вероятно, потребуются версии -dev библиотек, которые вы используете. Для GTK 3 вам, вероятно, потребуется:
sudo apt-get install libgtk-3-dev
Это должно получить вас всех заголовков GTK 3.