2010-07-02 3 views
2

Если имеется два исходных файлы и переменный ток до н: переменного ток включает в себя glib.h из бойкого-2.6.6 и Ьса включает glib.h из бойкого-2.12включая различные версии бойких заголовков

Тогда я скомпилировать их и связать их вместе и создать целевую программу. Предположим, что a.c не использует какую-либо новую функцию, введенную после v2.6, будет включать в себя разную версию заголовков, вызывающих какие-либо проблемы? Если да, то когда эта проблема произойдет?

+0

, как вы знаете, какую версию заголовка он в том числе? как правило, он будет просто искать путь включения для , который указан во время компиляции. –

+0

Привет, SB, я использую Makefile, который может указать корневой каталог GLiB и использовать #include "glib.h" в коде. У меня есть несколько версий glib-заголовков. – Simon

ответ

0

Это не должно вызывать проблем. Это потому, что GLib поддерживает совместимость API для всех версий в серии 2.x. Какую бы версию заголовков вы не использовали для компиляции своей программы, вы можете ссылаться на любую версию библиотеки, если вы не используете какие-либо функции, не присутствующие в этой версии библиотеки.

Однако, вы, кажется, делает жизнь понапрасну трудно:

Я использую Makefile, который может указать корневой каталог GLIB и используя #include "glib.h" в коде. У меня есть несколько версий glib-заголовков .

Почему бы вам не хотеть этого?

0

См. Это comparison table для Glib версий. Существуют некоторые изменения API/ABI с низкой степенью тяжести, выполненные между версиями 2.6.6 и 2.12.0.

enter image description here

...

enter image description here

Смежные вопросы