Code :: Blocks - как скомпилировать несколько исходных файлов - PullRequest
8 голосов
/ 12 мая 2011

Я пытаюсь скомпилировать программу с несколькими исходными файлами - двумя файлами CPP и файлом заголовка с code :: blocks.В качестве примера я создал следующие три файла (пример программы, созданной кем-то еще на другом форуме):

main.cpp:

#include <stdio.h>
#include "other.h"

int main (void)
{
    printf("%d\n", getfavoritenumber());

    return 0;
}

other.cpp

#include "other.h"

int getfavoritenumber(void)
{
    return 3;
}

прочеефайлы для ссылки) »при попытке собрать проект.

Что я делаю не так?Попытка скомпилировать отдельные файлы приводит к ошибке «Этот файл не назначен ни одной цели».

Ответы [ 5 ]

17 голосов
/ 30 мая 2013

Вот что у меня сработало:

Перейдите на левую панель с надписью "проекты" и щелкните правой кнопкой мыши файл .cpp. Выберите свойства, затем перейдите к созданию. Установите флажки под заголовком «Принадлежит цели»: «Отладка» и «Выпуск»

1 голос
/ 19 июня 2011

У меня была похожая проблема при создании моего первого проекта с несколькими исходными кодами.Я полагаю, что у вас проблема не со ссылками, а с вашим заявлением #include, каталоги отличались от того, что я ожидал.чтобы включить файл заголовка в проект, я должен был написать #include "include/other.h", посмотрите, как устроена ваша система папок .... если бы вы могли опубликовать, какие папки / каталоги у вас есть в проекте, я мог бы датьвам лучший ответ.

1 голос
/ 06 ноября 2011

У меня была похожая проблема, и я обнаружил, что если я просто закрыл проект, создал новое пустое консольное приложение, а затем импортировал существующие файлы, вещи начали хорошо компилироваться.

1 голос
/ 12 мая 2011

Я сделал это:

  • Я создал Консольный проект в Код :: Блоки

  • Для каждого файла, который я сделал File|New для создания пустого файла, добавил его в проект с указанными вами именами и вставил соответствующий код из вашего вопроса в каждый файл.

  • Скомпилировал и запустил получившийся исполняемый файл.

Все работало как положено. Если это не работает для вас, пожалуйста, опишите, как вы создаете проект. Code :: Blocks абсолютно нуждается в проекте - он плохо работает с отдельными файлами. Если вы хотите, используйте GCC из командной строки.

Редактировать:

  • Как правило, рекомендуется устанавливать компилятор отдельно от CB, который на самом деле является только IDE. Я предполагаю, что мы находимся на Windows здесь. Перейдите на http://tdm -gcc.tdragon.net и загрузите отсюда последний компилятор GCC. Проверьте это работает из командной строки.

  • Затем в CB перейдите к Settings|Compiler and Debugger и выберите вкладку Toolchains executables. Затем перейдите в корень каталога, в который вы установили материал TDM GCC (корень, а не каталог bin внутри корня), и все должно быть в порядке.

И если в конце дня это не сработает, попробуйте форумы поддержки CB на http://forums.codeblocks.org.

0 голосов
/ 08 апреля 2016

Убедитесь, что все файлы (.h и .cpp) были добавлены в проект с помощью Project> Add Files ... или Project> Add FIles Recursively ...

...