Я новичок в программировании на C++ и знаю основы C++. Я пытаюсь связать три файла, но я не могу получить выход. Я изучаю книгу кулинарной книги C++ прямо сейчасСвязывание нескольких объектных файлов в C++, но без вывода
Предположим, у нас есть файлы a.hpp a.cpp, b.hpp b.cpp, c .hpp c.cpp со следующим кодом:
a.hpp
#ifndef A_HPP_INCLUDED
#define A_HPP_INCLUDED
void a();
#endif
a.cpp
#include "a.hpp"
#include <iostream>
void a()
{
std::cout<<"a \n ";
}
b.hpp
#ifndef B_HPP_INCLUDED
#define B_HPP_INCLUDED
void b();
#endif
b.cpp
#include "b.hpp"
#include <iostream>
void b()
{
std::cout<<"b \n ";
}
c.hpp
#ifndef C_HPP_INCLUDED
#define C_HPP_INCLUDED
void c();
#endif
c.cpp
#include "a.hpp"
#include "b.hpp"
#include "c.hpp"
void c()
{
a();
b();
}
int main()
{
c();
return 0;
}
Я создал все файлы в одной папке и команды я использовал, чтобы собрать и связать их в
$:g++ -c -Wall a.cpp b.cpp c.cpp
$:g++ -o -Wall a.o b.o c.o
$:./a.out
Я ожидал Outout
a
b
, но не было никакого вывода на всех . Попросите всех вас помочь мне в этом.
В первом абзаце упоминаются 'ab.h' и' ab.c', но они не используются. Правильны ли команды сборки? Игнорируя эти два файла, все выглядит правильно и должно работать так, как вы ожидаете. – wallyk