Убедитесь, что вы не путаете компиляцию со ссылкой.Не говорю, что вы есть, но просто указываю, что есть два разных шага.
Для компиляции с tree1 и tree2 используйте директиву -I include для gcc.gcc -c -I / some / include / for / tree1 -I / some / include / for / tree2 input.c -o output.o
для связи с двумя деревьями, создания файлов .so или .la(статические или динамические библиотеки) из каждого дерева.Назовите их tree1.la tree2.la.поместите их в / path / to / tree1 / libs и / path / to / tree2 / libs
, затем линк
gcc -o prog -ltree1 -ltree2 -L / path / to / tree1/ libs -L / path / to / tree2 / libs
Если деревья достаточно большие, они должны в конечном итоге создать статические или динамические библиотеки объектного кода.Затем вы просто указываете на их заголовки для компиляции и указываете на их библиотеки для ссылки.