2

Например, если мой код на С ++ включает math.h чтобы я мог использовать sin() .

Когда я компилирую свой код, мне нужно добавить компоновщик, то есть:

g++ main.cpp -lm

Итак, мой вопрос: есть ли способ, которым мне не нужно добавлять -lm?

2 ответа2

2

Во-первых, -lm - это не "компоновщик", это название библиотеки, с которой вы хотите связать.

Во-вторых, простой ответ на ваш вопрос - нет, нет способа избежать необходимости указывать это - если вы используете подпрограммы из библиотеки, отличной от основной библиотеки C, вам нужно сообщить компилятору, чтобы он знал, куда найти процедуры.

1

Вы можете рассмотреть возможность использования make и Makefile s. Конечно, вам все еще нужны ссылки на библиотеки, но вам больше не нужно думать об этом при компиляции. Это очень удобно, особенно когда вы связываете несколько библиотек.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .