Наша компания использует CMake для создания наших исполняемых файлов для Windows. Я работаю над тем, чтобы наше приложение работало на Mac. Пока приложение отлично работает на Mac. Однако, когда я пытаюсь открыть исполняемый файл, который CMake создает для Mac, я получаю следующее сообщение об ошибке в окне терминала:CMake Build Mac App
Last login: Tue Apr 16 14:34:58 on ttys001
Locals-MacBook-Pro:~ auser$ /Users/auser/Documents/Projects/CodeMonkey/bin/CmDeveloperKit ; exit;
dyld: Library not loaded: libAbcSupport.dylib
Referenced from: /Users/auser/Documents/Projects/CodeMonkey/bin/CmDeveloperKit
Reason: image not found
Trace/BPT trap: 5
logout
[Process completed]
Я имею в виду, что CMakeLists.txt для проекта не может быть настроена правильно для создания исполняемого файла для Mac. Я включил его ниже:
# Includes the common stuff for CodeMonkey
include(CmConfig)
# Set the file description
set(CMDEVELOPERKIT_FILE_DESCRIPTION "CodeMonkey Application")
# Configures this CodeMonkey module
CmModuleConfig(CmDeveloperKit FIND CodeMonkey CodeMonkeyGui)
# Get source files for CodeMonkeyGui
set(PROJECT_SOURCES ${PROJECT_SOURCES} Main.cpp)
# Only add resource files on Windows
if(WIN32)
# Get header files for CodeMonkeyGui
set(PROJECT_HEADERS ${PROJECT_HEADERS} CmIcon.h)
# Get source files for CodeMonkeyGui
set(PROJECT_RESOURCES ${PROJECT_RESOURCES} CmIcon.rc)
endif(WIN32)
# Add additional include directories
include_directories(${CODEMONKEY_INCLUDE_DIR} ${CODEMONKEYGUI_INCLUDE_DIR} ${ABC_INCLUDE_DIR})
# Add additional link directories
link_directories("${ABC_LIBRARY_DIR}")
# Creates the executable
if(WIN32)
add_executable(${PROJECT_NAME} WIN32 ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${PROJECT_RESOURCES})
# Sets entry point to main
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/ENTRY:\"mainCRTStartup\"")
else()
add_executable(${PROJECT_NAME} ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${PROJECT_RESOURCES})
endif(WIN32)
# Add the d in debug
set_target_properties(${PROJECT_NAME} PROPERTIES DEBUG_POSTFIX d)
# Links to the other required libs
target_link_libraries(${PROJECT_NAME} ${CODEMONKEY_LIBRARY} ${CODEMONKEYGUI_LIBRARY}
${ABC_ARASUPPORT_LIBRARY} ${ABC_ARAGUI_LIBRARY})
# Sets the appropriate dependencies
add_dependencies(${PROJECT_NAME} ${CODEMONKEY_NAME} ${CODEMONKEYGUI_NAME})
# Configure the install procedures
CmModuleInstall()
Может кто-то пожалуйста, дайте мне знать, что я не хватает или у плохого в указанном файле? Если этот файл не является проблемой, можете ли вы указать мне правильное направление для исправления?
Добавил ли путь к каталогу, содержащему 'libAbcSupport.dylib', переменной' DYLD_LIBRARY_PATH', прежде чем пытаться выполнить приложение? –
@ Haroogan Вау, я должен быть честным и сказать, что я не думал, что это сработает сначала. Похоже, что проблема была решена. Можете ли вы опубликовать это как ответ и более подробно объяснить, что это делает? Кроме того, есть ли все-таки включить libAbcSupport.dylib в приложение Mac, поэтому мне не нужно изменять переменные среды, чтобы запустить приложение? (reposting comment, чтобы вы получили уведомление и потому, что мне не хватает времени для его редактирования) – robhasacamera
У меня есть оба уведомления ':)' вы можете удалить один из них сейчас. Я скоро отправлю ответ. –