Я работаю над кодом, который использует Open Dynamics Engine. Я работал с этим кодом раньше в окнах, но теперь я перехожу к unix, поэтому я могу получить опыт работы с C в среде unix, и поэтому я не полагаюсь на визуальную студию. Я загрузил все в мой домашний каталог, построенный с помощью прилагаемого make-файла и попробовал демонстрацию; все хорошо. Я создал каталог и тестовый файл в своем собственном тесте. Для моего #include я указал:Почему моя директива include не работает в gcc?
#include ".././ode-0.11.1/include/ode/ode.h"
#include ".././ode-0.11.1/include/drawstuff/drawstuff.h"
Поскольку библиотека находится только в моем домашнем каталоге, а не в стандартном расположении. Я иду, чтобы скомпилировать мой код, но:
.././ode-0.11.1/include/ode/ode.h:28:27: fatal error: ode/odeconfig.h: No such
file or directory
Глядя на ode.h, она включает в себя множество других заголовков все находится в том же каталоге, но с использованием синтаксиса брекет вместо кавычек. Я предполагаю, что это имеет какое-то отношение к тому, почему gcc не может найти другие заголовки. Я посмотрел на make-файлы, но не знаю достаточно, чтобы выяснить, что такое моя проблема. Почему моя компиляция не работает? Подробный/подробный ответ был бы оценен, так как я хочу узнать, как все это работает (связывание, включение, создание и т. Д.).
Edit: Так что я понял, как включить все заголовки правильно, теперь мне нужно, чтобы выяснить, как связать с определениями библиотеки для функций ...
Edit2: До сих пор не могу понять, как ссылку на мой код. Скомпилированные статические библиотеки выгружаются в '~/ode-0.11.1/ode/src/.libs' и '~/ode-0.11.1/drawstuff/src/.libs' для функций рисования.
Edit3: Думаю, я понял это. Я не использовал параметр -l правильно, и кажется, что он должен идти ПОСЛЕ файлов, которые ссылаются на функции из библиотек, к которым я привязываюсь.
Это может помочь увидеть ваш Makefile и в какой директории код s in - Обратите внимание, что ваш код не должен находиться ни в одной из каталогов ode. – Mark
На данный момент я не использую собственный файл makefile, так как я просто компилирую 1 файл. Он находится в '~/code/myfile.cpp' – primehunter326
SO, что создает файлы ~/ode-0.11.1/ode/src/.libs, если это файл make ode, тогда я подозреваю, что вы также должны сделать make install – Mark