Прежде всего, Cygwin обычно использует GCC в качестве компилятора. Это означает, что нет специальной поддержки окон, которую вы найдете в компиляторе и редакторе VS. Будьте готовы запачкать руки.
Имейте в виду, что моя версия CDT немного устарела, и у меня не установлен Cygwin, поэтому некоторые из перечисленных ниже действий могут быть неточными. Также все параметры компилятора, которые я упоминаю, подробно описаны в руководстве gcc .
1) В вашем примере никто не определяет WIN32
или _WIN32
(я не думаю, что GCC сделает это за вас, но сделайте проверку). Чтобы это исправить, вам нужно будет включить заголовок windows.h
, который (я думаю) позаботится об определении правильных макросов. Вы также можете использовать переключатель компилятора -D
(настраивается в вашем make-файле или через меню eclipse).
Если вы обнаружите пропущенные ошибки включения после того, как вы исправите определения, я считаю, что заголовки Windows находятся в папке C:\cygwin\usr\include\w32api
. Чтобы добавить это в свой путь включения, просто откройте свойства проекта и перейдите к C/C++ General > Paths and Symbols
. Добавьте путь к группе GNU C
на вкладках Includes
. В зависимости от того, как вы настроили свой проект, это, возможно, уже было сделано для вас.
Если вы создаете свой собственный make-файл, вам все равно следует выполнить предыдущий шаг, поскольку он позволит индексатору находить и анализировать эти заголовки. Чтобы сообщить компилятору о папке include, используйте переключатель -I
.
2) Я собираюсь догадаться, что ws2_32.lib - это файл lib для winsock2. Если это так, я не совсем уверен, кто несет ответственность за его сборку (есть ли .dll, который вы можете использовать вместо этого?). Возможно, вы захотите проверить папку c:\cygwin\usr\lib
или c:\cygwin\usr\local\lib
.
Если вы используете управляемый проект (eclipse создает для вас make-файл), перейдите в свойства вашего проекта и перейдите к C/C++ Build > Settings
. На вкладке Tool Settings
перейдите к элементу libraries
в разделе компоновщика. Просто добавьте имя файла lib и папку в соответствующие поля.
В вашем собственном make-файле вы захотите использовать ключ компилятора -l
, чтобы указать библиотеку, и ключ компилятора -L
, чтобы указать путь поиска.
3) Хорошим местом для начала работы с make-файлами было бы GNU make manual .
Одна деталь о запуске Makefile в Windows: обязательно используйте оболочку, предоставленную Cygwin или MinGW. В противном случае такие команды, как rm
, не будут определены, и это сделает вашу жизнь очень сложной.
Вы также можете рассмотреть CMake . Его проще использовать и лучше масштабировать для крупных проектов.
Чтобы использовать созданный вручную make-файл в своем проекте, просто создайте новый Makefile project
и поместите файл Makefile
в корень папки вашего проекта. Вот и все.
4) Да, есть, но это не называется intellisense. Просто нажмите CTRL+Space
в любом месте вашего исходного кода, чтобы открыть его.
Другие забавные инструменты можно найти в меню правой кнопки мыши. Мои личные фавориты включают CTRL+SHIFT+R
, чтобы найти и открыть файл, CTRL+SHIFT+T
, чтобы найти и открыть тип \ variable \ function \ define, и CTRL+O
, чтобы найти и перейти к типу \ variable \ function \ define в открытом файле.
Индексатор может иногда сходить с ума (в основном при разборе кода C ++). Вы можете изменить его поведение, перейдя в меню Windows > Preferences
вверху и перейдя к элементу C/C++ > Indexer
.
Надеюсь, это поможет.