Я пытался заменить все команды, не являющиеся целевыми, на правильные целевые команды моего проекта. Версия Cmake составляет 3.20.5. < /P>
Две основные задачи выполняются в ходе этого процесса. Для первого, я создаю целевую цель интерфейса для управления глобальными параметрами, такими как параметры компиляции. Для другого я добавляю некоторые объекты, пытающиеся свести к минимуму временную стоимость компиляции. < /P>
Вот версия моего проекта SAMLL. < /P>
Project dir
|_ source
| |_ common (SOURCE)
| |_ componentA (SOURCE) Depend on common
|_ test
| |_ testA (TEST) Depend on common and componentA
|_ CmakeList.txt (TOP)
< /code>
Что касается кода, это выглядит так. < /p>
top < /h1>
add_target(global_property INTERFACE)
# ... some options here
add_subdirectory(source)
add_subdirectory(test)
< /code>
common < /h1>
add_target(common_obj OBJECT)
target_linked_libraray(common_obj PUBLIC global_property)
add_library(common_shared SHARED $)
add_library(common_static STATIC $)
< /code> компонент < /h1> add_target(componentA_obj OBJECT)
target_linked_libraray(componentA_obj PUBLIC global_property common_static)
add_library(componentA_shared SHARED $)
add_library(componentA_static STATIC $)
target_linked_libraray(componentA_shared common_static) // my question here
target_linked_libraray(componentA_static common_static) // my question here
< /code>
test < /h1>
add_execute(testA)
target_linked_libraray(testA componentA_static)
< /code>
При составлении Testa сообщает, что содержание общего не может быть найдено. Оказывается, что Componenta_static все еще должен связать common_static для компиляции Testa, уважая тот факт, что Componenta_obj уже связал common_static. < /P>
Это единственный способ использовать его, если Componenta должен связать common_static? Если требуется common_static, вторая ссылка, означает ли она также, что Global_property также должна быть связана снова?>
Подробнее здесь: https://stackoverflow.com/questions/794 ... -of-itself
Как правильно связать библиотеки для библиотеки объектов и статической/общей либерации? ⇐ C++
Программы на C++. Форум разработчиков
1740041990
Anonymous
Я пытался заменить все команды, не являющиеся целевыми, на правильные целевые команды моего проекта. Версия Cmake составляет 3.20.5. < /P>
Две основные задачи выполняются в ходе этого процесса. Для первого, я создаю целевую цель интерфейса для управления глобальными параметрами, такими как параметры компиляции. Для другого я добавляю некоторые объекты, пытающиеся свести к минимуму временную стоимость компиляции. < /P>
Вот версия моего проекта SAMLL. < /P>
Project dir
|_ source
| |_ common (SOURCE)
| |_ componentA (SOURCE) Depend on common
|_ test
| |_ testA (TEST) Depend on common and componentA
|_ CmakeList.txt (TOP)
< /code>
Что касается кода, это выглядит так. < /p>
top < /h1>
add_target(global_property INTERFACE)
# ... some options here
add_subdirectory(source)
add_subdirectory(test)
< /code>
common < /h1>
add_target(common_obj OBJECT)
target_linked_libraray(common_obj PUBLIC global_property)
add_library(common_shared SHARED $)
add_library(common_static STATIC $)
< /code> компонент < /h1> add_target(componentA_obj OBJECT)
target_linked_libraray(componentA_obj PUBLIC global_property common_static)
add_library(componentA_shared SHARED $)
add_library(componentA_static STATIC $)
target_linked_libraray(componentA_shared common_static) // my question here
target_linked_libraray(componentA_static common_static) // my question here
< /code>
test < /h1>
add_execute(testA)
target_linked_libraray(testA componentA_static)
< /code>
При составлении Testa сообщает, что содержание общего не может быть найдено. Оказывается, что Componenta_static все еще должен связать common_static для компиляции Testa, уважая тот факт, что Componenta_obj уже связал common_static. < /P>
Это единственный способ использовать его, если Componenta должен связать common_static? Если требуется common_static, вторая ссылка, означает ли она также, что Global_property также должна быть связана снова?>
Подробнее здесь: [url]https://stackoverflow.com/questions/79453883/how-to-correctly-link-libraries-forobject-lib-and-static-shared-lib-of-itself[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия