Я компилирую программу, в которой заголовочный файл определен в нескольких местах. Содержимое каждого файла заголовка отличается, хотя имена переменных одинаковы, внутренние элементы внутри структур различны.
Теперь во время компоновки он выбирает из файла библиотеки, который принадлежит другому заголовку, а не тому, который используется во время компиляции. Из-за этого я получаю ошибку во время ссылки.
Поскольку существует так много библиотек с одинаковыми именами, я не знаю, какую библиотеку подбирают. У меня есть много oems и других пользовательских библиотек, которые являются частью этой сборки.
Я проверил параметры в gcc, который говорит о выборе различных файлов библиотеки для включения. Но не там, где я могу видеть опцию, которая говорит о том, какие библиотеки подбираются компоновщиком.
Если компоновщик может найти более одного имени файла библиотеки, то, что делает компоновщик, я не могу понять. Я не хочу указывать какой-либо путь, скорее я хочу понять, как компоновщик разрешает несколько библиотек, которые он может найти. Я попытался указать параметр -v, но в нем не указан путь, по которому gcc берет библиотеку.
Я использую gcc в Linux.
Любая помощь в этом отношении высоко ценится.
С уважением,
Читра