Я новичок в системе Mac OS. Недавно я делал проект, который требует использования xgboost для прогнозирования на языке c. У меня вопрос, как правильно написать файл CmakeLists.txt.
Я сделал это шаг за шагом согласно руководству. На самом деле, я запустил cpp правильно, используя следующую команду:
g++ main.c -Ixgboost/include -Ixgboost/rabit/include xgboost/lib/libxgboost.a xgboost/rabit/lib/librabit_empty.a xgboost/dmlc-core/libdmlc.a
Однако, когда я перехожу к CmakeLists.txt, происходит что-то не так. Вот код ошибки:
dyld: Library not loaded: lib/libxgboost.dylib
Referenced from: /Users/doubleding/Documents/Develop_SCIP/tryLoadXgboost/cmake-build-debug/tryLoadXgboost
Reason: image not found
Вот код для CmakeLists.txt:
cmake_minimum_required(VERSION 3.12)
project(tryLoadXgboost C)
set(CMAKE_C_STANDARD 99)
include_directories(${PROJECT_SOURCE_DIR}/xgboost/include)
include_directories(${PROJECT_SOURCE_DIR}/xgboost/rabit/include)
link_directories(${PROJECT_SOURCE_DIR}/xgboost/lib)
link_directories(${PROJECT_SOURCE_DIR}/xgboost/rabit/lib)
link_directories(${PROJECT_SOURCE_DIR}/xgboost/dmlc-core) #库文件目录
add_executable(tryLoadXgboost main.c)
target_link_libraries(tryLoadXgboost libxgboost.a)
target_link_libraries(tryLoadXgboost librabit_empty.a )
target_link_libraries(tryLoadXgboost libdmlc.a)
Я знаю, что есть какая-то тема о "dyld: Библиотека не загружена:". Но я не знаю, как это сделать в этой конкретной задаче. Кроме того, я не знаю, виновата ли я в написании cmakelists (потому что при использовании g ++ ошибки нет). Я был бы очень признателен, если бы кто-нибудь сказал мне, как решить эту ошибку.