Как скомпилировать и связать отдельные файлы .h и .cpp в C ++ с помощью командной строки?

0

Я хотел разделить определения функций и заголовки функций с помощью папок, но я получаю фатальную ошибку, в которой "xh" не найден. Ниже приведены имена файлов, которые являются образцами. Возможно ли это?

Это строка, которую я использую:

g++ -I ./headers/ -o main2.o main2.cpp ./definitions/x.cpp 
  • 0
    Можете ли вы описать, каков ваш макет исходного каталога?
  • 0
    main2.cpp находится в родительском каталоге, тогда как заголовки / и определения / являются подкаталогами этого родительского каталога, скажем, solver /.
Теги:
g++

1 ответ

4
Лучший ответ

Если вы уверены, что у вас есть правильные файлы в правильном пути, одна проблема:

После -I не должно быть места и используйте только ./headers

g++ -I./headers -o main2.o main2.cpp ./definitions/x.cpp 
      ^^No Space
  • 0
    -Iheaders должны быть достаточными. Оба экземпляра ./ являются избыточными.
  • 2
    @MarceloCantos, это правда, но я считаю, что на практике весьма полезно провести более крупное визуальное различие между -I./pathoflibrary и -lnameoflibrary и ./ - очень хороший способ сделать это. :)
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню