Ошибка Cmake во время fixup_bundle: target [библиотека] не абсолютнаяC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Ошибка Cmake во время fixup_bundle: target [библиотека] не абсолютная

Сообщение 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, и я не уверен, как определить, почему путь может быть пустым. Любая помощь в этом отношении приветствуется.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... t-absolute
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»