Как неявно связать библиотеки?

У меня есть библиотека с именем A.a и ее файл .hpp с именем A.hpp. Когда программам нужно использовать эту библиотеку, они #include «A.hpp» и связываются с ней следующим образом: g ++ test1.cpp A.a -o test1. Я хотел бы иметь возможность только скомпилировать его, как этот g ++ test1.cpp -o test1, без явного ввода там A.a, точно так же, как мне не нужно явно связывать мою программу с iostream. Как мне этого добиться?

1

Решение

Это может быть сделано в Visual C ++ (компилятор может встраивать некоторые параметры компоновщика в объектные файлы, причем запросы на связывание библиотеки являются одними из возможных).

Gcc (и, насколько мне известно, лязг) не имеют такой функции. Вы должны предоставить библиотеки в командной строке; нет никакого способа обойти это (инструменты сборки не являются технически обходными путями; они также помещают библиотеки в командные строки, которые они используют для запуска компоновщика).

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector