Я спросил онлайн LLM, и он сказал: < /p>
Yes, absolutely. You need to link to the dependency library even when building a static library that calls functions within it.
< /code>
Но я попытался создать статическую библиотеку, которая вызывает другую функцию, и все, что я сделал, это включил заголовок, а затем вызовал функцию. Он построил на Linux с GCC, без каких -либо жалоб на неопределенную ссылку или что -либо еще.#include "MyExternalFunction.h"
void my_static_library_function()
{
MyExternalFunction();
}
< /code>
Приведенный выше скомпилированный штраф без жалоб от компилятора. < /p>
Затем я создаю исполняемый, Main: < /p>
void my_static_library_function();
int main()
{
my_static_library_function();
return 0;
}
< /code>
Я связал основной исполняемый файл с моей статической библиотекой (очевидно, потому что я называю ее функцией), а затем он жалуется, что myexternalfunction не определена, и поэтому исполняемый файл должен связывать эту функцию. Но не статическая библиотека. И поэтому статическая библиотека не должна связывать функции, которые она вызывает. Как насчет других символов, таких как переменные? Это то же самое? Статическая библиотека никогда не должна ничего связывать, ей нужны только объявления?>
Подробнее здесь: https://stackoverflow.com/questions/795 ... o-i-need-t
Если я создаю статическую библиотеку, которая вызывает функцию, которая не определена, мне нужно также компилировать или ⇐ C++
Программы на C++. Форум разработчиков
1744371837
Anonymous
Я спросил онлайн LLM, и он сказал: < /p>
Yes, absolutely. You need to link to the dependency library even when building a static library that calls functions within it.
< /code>
Но я попытался создать статическую библиотеку, которая вызывает другую функцию, и все, что я сделал, это включил заголовок, а затем вызовал функцию. Он построил на Linux с GCC, без каких -либо жалоб на неопределенную ссылку или что -либо еще.#include "MyExternalFunction.h"
void my_static_library_function()
{
MyExternalFunction();
}
< /code>
Приведенный выше скомпилированный штраф без жалоб от компилятора. < /p>
Затем я создаю исполняемый, Main: < /p>
void my_static_library_function();
int main()
{
my_static_library_function();
return 0;
}
< /code>
Я связал основной исполняемый файл с моей статической библиотекой (очевидно, потому что я называю ее функцией), а затем он жалуется, что myexternalfunction не определена, и поэтому исполняемый файл должен связывать эту функцию. Но не статическая библиотека. И поэтому статическая библиотека не должна связывать функции, которые она вызывает. Как насчет других символов, таких как переменные? Это то же самое? Статическая библиотека никогда не должна ничего связывать, ей нужны только объявления?>
Подробнее здесь: [url]https://stackoverflow.com/questions/79568465/if-i-build-a-static-library-that-calls-a-function-that-isnt-defined-do-i-need-t[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия