Требуется справка по компиляции базового примера кода — я не могу заставить работать какие-либо примеры SDK

#c #c #dev-c

#c #c #dev-c

Вопрос:

Я очень новичок в C ; Я работал с несколькими SDK в настоящее время в различных приложениях и каждый раз сталкиваюсь с проблемой, заключающейся в том, что я не могу скомпилировать «пример кода». Это очень широкий вопрос, в основном касающийся ЛЮБОГО примера кода, который предоставляется по сети — какова стандартная процедура для компиляции? Я знаю, как скомпилировать код, который я написал сам, но когда мне дается большой проект, содержащий несколько CPP- и H-файлов, с чего мне начать? Мой первый порт вызова, чтобы открыть ‘main.cpp «в Dev-C и нажатие кнопки «compile» обычно выдает ошибки о недоступности файлов заголовков и так далее.

Я не буду приводить конкретный пример, поскольку это происходило несколько раз. Как человек, знакомящийся с C , я чувствую, что научился бы намного быстрее, если бы мог начать с кода, который работает, и настраивать его самостоятельно, вместо того, чтобы возиться с созданием чего-то по частям.

Самый последний пример — это набор примеров кода, предоставленный компанией, который содержит 10 файлов:

 -Arial.ttf
-demo_resources.rc
-icon.ico
-main.c
-simple.dsp
-simple.dsw
-simple.exe
-simple.h
-trial.c
-trials.c
  

Запуск exe-файла работает абсолютно нормально; однако, если я открываю main.c и нажимаю compile, я получаю много сообщений об ошибках. В качестве примера, первые две строки кода в main.c являются:

 #include "simple.h"
#include <sdl_text_support.h>
  

Это само по себе выдает сообщения об ошибках:

 1: expected unqualified-id before "public"
1: expected `,' or `;' before "public"
2: In file included from trial.c
  

Очевидно, я делаю что-то очень неправильное, поскольку этот код, должно быть, был скомпилирован для кого-то другого в прошлом, чтобы сгенерировать exe-файл. Опять же, это не единичная проблема, у меня эта проблема постоянно.

Поскольку Dev-C прекрасно оснащен для работы с обычными старыми файлами C, я не вижу, что это проблема. Во-вторых, simple.h определенно включен в правильный каталог. Однако второе включает sdl_text_support.h, которого, очевидно, нет в моем списке файлов выше. Я просмотрел остальную часть SDK и обнаружил, что файл скрывается в другом месте. Как мне явно указать местоположение файла заголовка с помощью Dev-C ?

Был бы весьма признателен за любое общее руководство по компиляции готовых проектов или помощь любого рода.

Комментарии:

1. DevC — это куча не поддерживаемого мусора. Вместо этого используйте Code::Blocks.

2. Прежде всего, удалите DevC . Он старый, мертвый и больше не поддерживается. Выберите что-то вроде Code::Blocks или Visual Studio Express (я думаю, это называется так). Во-вторых, трудно дать вам общий ответ о том, как компилировать код. Просто ознакомьтесь с документацией вашей IDE. Особенно, как настроить пути включения и тому подобное.

3. Или Visual Studio express. Возможно, вам больше повезет с VS, поскольку ваши примеры, похоже, созданы для него (файлы dsp и dsw).

4. Я пытался использовать Visual Studio Express, но мне просто сказали, что файл должен быть преобразован в текущий формат. Дальнейшее выполнение этого не приводит к тому, что ничего не происходит. Хотя я уже дважды менял программу, я вообще не продвинулся дальше на несколько часов вперед!

Ответ №1:

Мне нравится эта страница:

http://www.cprogramming.com/tutorial.html

Ответ №2:

Я не знаком с DevC , но вы не можете предполагать, что если вы можете открыть main.c и нажать кнопку, то все получится. Ни одна система сборки не настолько умна.

Если вы пишете свой собственный код (и вы понимаете, что такое компиляция и компоновка), то вы можете содержать свои файлы в порядке и точно знать, как все собрать; чужая кодовая база может поставляться с makefile или каким-либо другим руководством по ее организации, но вам придется научиться использовать хорошую систему сборки, а та, которую вы используете, звучит неадекватно.

Комментарии:

1. Похоже, что это ссылка, о которой мне нужно прочитать. Меня много учили о реальном синтаксисе кода C , но ничего об организации файлов и связывании. Я изучу это. Спасибо

Ответ №3:

откройте проект с помощью simple.dsw вместо main.cpp , и он должен работать.