Я использую MSVC 2022 в Windows, с Ninja в качестве генератора сборки и Cmake 3.31.8. < /p>
Вот выходной сигнал при запуске 'Ninja Package', когда он попадает в раздел FixUp_bundle: < /p>
CPack: - Install project: MYAPP[]
Installing dependencies of myapplication.
warning: target 'mylibrary.dll' is not absolute...
CMake Error at C:/Users/ContainerUser/scoop/apps/cmake/3.31.8/share/cmake-3.31/Modules/GetPrerequisites.cmake:663 (file):
file failed to open for reading (No such file or directory):
/mylibrary.dll
Call Stack (most recent call first):
C:/Users/ContainerUser/scoop/apps/cmake/3.31.8/share/cmake-3.31/Modules/GetPrerequisites.cmake:975 (get_prerequisites)
C:/Users/ContainerUser/scoop/apps/cmake/3.31.8/share/cmake-3.31/Modules/BundleUtilities.cmake:647 (get_prerequisites)
C:/Users/ContainerUser/scoop/apps/cmake/3.31.8/share/cmake-3.31/Modules/BundleUtilities.cmake:933 (get_bundle_keys)
< /code>
Нет ничего особенного в том, как этот DLL построен, и это не единственный DLL в проекте. Я попытался переименовать его, удалить output_name, избавиться от версии и Soversion, но ни одно из них не оказало никакого влияния. < /P>
ADD_LIBRARY(mylibrary_shared SHARED ${BASE_SOURCES} ${DOC_SOURCES} ${HEADER_FILES})
TARGET_LINK_LIBRARIES(mylibrary_shared ${MY_LIB_DEPENDS})
SET_TARGET_PROPERTIES(mylibrary_shared PROPERTIES
VERSION "${mylibrary_LIBVERSION}"
SOVERSION "${mylibrary_SOVERSION}"
CLEAN_DIRECT_OUTPUT 1
OUTPUT_NAME "mylibrary"
COMPILE_FLAGS "-DBUILDING_MYLIBRARY"
)
< /code>
Вот мой код связов: < /p>
SET(APPS "\${CMAKE_INSTALL_PREFIX}/myapplication.exe")
INSTALL(CODE "
message(\"Installing dependencies of myapplication.\")
file(GLOB_RECURSE MYPLUGINS
\"\${CMAKE_INSTALL_PREFIX}/plugins/*${CMAKE_SHARED_LIBRARY_SUFFIX}\")
include(BundleUtilities)
fixup_bundle(\"${APPS}\" \"\${MYPLUGINS}\" \"${MY_BIN_DIR}\")
verify_app(${APPS})
"
COMPONENT controller)
< /code>
Для некоторого контекста этот код работает на 100% нормально при использовании MSBuild. Я пытаюсь переключиться на генератор ниндзя и получил эту ошибку. Я не могу отлаживать это. Кажется, я не могу получить какой -либо диагностический результат от Cmake's GetPreequisites.cmake, и я не уверен, как определить, почему путь может быть пустым. Любая помощь в этом отношении приветствуется.>
Подробнее здесь: https://stackoverflow.com/questions/797 ... t-absolute
Ошибка Cmake во время fixup_bundle: target [библиотека] не абсолютная ⇐ C++
Программы на C++. Форум разработчиков
1754406500
Anonymous
Я использую MSVC 2022 в Windows, с Ninja в качестве генератора сборки и Cmake 3.31.8. < /p>
Вот выходной сигнал при запуске 'Ninja Package', когда он попадает в раздел FixUp_bundle: < /p>
CPack: - Install project: MYAPP[]
Installing dependencies of myapplication.
warning: target 'mylibrary.dll' is not absolute...
CMake Error at C:/Users/ContainerUser/scoop/apps/cmake/3.31.8/share/cmake-3.31/Modules/GetPrerequisites.cmake:663 (file):
file failed to open for reading (No such file or directory):
/mylibrary.dll
Call Stack (most recent call first):
C:/Users/ContainerUser/scoop/apps/cmake/3.31.8/share/cmake-3.31/Modules/GetPrerequisites.cmake:975 (get_prerequisites)
C:/Users/ContainerUser/scoop/apps/cmake/3.31.8/share/cmake-3.31/Modules/BundleUtilities.cmake:647 (get_prerequisites)
C:/Users/ContainerUser/scoop/apps/cmake/3.31.8/share/cmake-3.31/Modules/BundleUtilities.cmake:933 (get_bundle_keys)
< /code>
Нет ничего особенного в том, как этот DLL построен, и это не единственный DLL в проекте. Я попытался переименовать его, удалить output_name, избавиться от версии и Soversion, но ни одно из них не оказало никакого влияния. < /P>
ADD_LIBRARY(mylibrary_shared SHARED ${BASE_SOURCES} ${DOC_SOURCES} ${HEADER_FILES})
TARGET_LINK_LIBRARIES(mylibrary_shared ${MY_LIB_DEPENDS})
SET_TARGET_PROPERTIES(mylibrary_shared PROPERTIES
VERSION "${mylibrary_LIBVERSION}"
SOVERSION "${mylibrary_SOVERSION}"
CLEAN_DIRECT_OUTPUT 1
OUTPUT_NAME "mylibrary"
COMPILE_FLAGS "-DBUILDING_MYLIBRARY"
)
< /code>
Вот мой код связов: < /p>
SET(APPS "\${CMAKE_INSTALL_PREFIX}/myapplication.exe")
INSTALL(CODE "
message(\"Installing dependencies of myapplication.\")
file(GLOB_RECURSE MYPLUGINS
\"\${CMAKE_INSTALL_PREFIX}/plugins/*${CMAKE_SHARED_LIBRARY_SUFFIX}\")
include(BundleUtilities)
fixup_bundle(\"${APPS}\" \"\${MYPLUGINS}\" \"${MY_BIN_DIR}\")
verify_app(${APPS})
"
COMPONENT controller)
< /code>
Для некоторого контекста этот код работает на 100% нормально при использовании MSBuild. Я пытаюсь переключиться на генератор ниндзя и получил эту ошибку. Я не могу отлаживать это. Кажется, я не могу получить какой -либо диагностический результат от Cmake's GetPreequisites.cmake, и я не уверен, как определить, почему путь может быть пустым. Любая помощь в этом отношении приветствуется.>
Подробнее здесь: [url]https://stackoverflow.com/questions/79726193/cmake-error-during-fixup-bundle-target-library-is-not-absolute[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия