Я компилирую программу, в которой файл заголовка определен в нескольких местах. Содержимое каждого из файлов заголовков отличается, хотя имена переменных являются одними и теми же внутренними элементами в структурах.Проблема со ссылкой в gcc
Теперь во время соединения он извлекает из файла библиотеки, который принадлежит другому заголовку, а не тому, который используется во время компиляции. Из-за этого я получаю сообщение об ошибке во время соединения.
Поскольку существует так много библиотек с тем же именем, я не знаю, какую библиотеку собирают. У меня много омсов и других настраиваемых библиотек, которые являются частью этой сборки.
Я проверил варианты в gcc, в которых говорится о выборе различных файлов библиотек для включения. Но нет, где я могу видеть вариант, который говорит о том, какие библиотеки собирают компоновщик.
Если компоновщик может найти более одного имени файла библиотеки, то, что делает компоновщик, это то, что я не могу понять. Я не хочу указывать какой-либо путь, скорее я хочу понять, как компоновщик разрешает несколько библиотек, которые он может найти. Я попробовал поместить опцию -v, но это не указывает путь, из которого gcc собирает библиотеку.
Я использую gcc на linux.
Любая помощь в этом отношении высоко ценится.
С уважением, Chitra
Как определить заголовочный файл в нескольких местах? Вы имеете в виду «включить?»? Какую ошибку вы получаете? – WhirlWind
Plz добавить линкера и, возможно, ваш make-файл. –