我正在使用 CMake 开发一个用于楼宇自动化的库。我在使用英特尔 C++ 编译器时遇到问题。果然编译成功了
但是,当我在另一个未设置 Intel 环境变量的项目中调用该库时,编译失败,因为无法找到某些 Intel C++ 内部库(例如,
libsycl
或 libsvml
)。似乎英特尔内部库目录不会自动添加到运行时库搜索路径中。为了解决这个问题,我不得不添加到CMakeList.txt
set_target_properties(myLib PROPERTIES LINK_FLAGS "-Wl,-rpath=${SYCL_LIBRARY_DIR}:${SYCL_LIBRARY_DIR}/../compiler/lib/intel64_lin")
我认为这不是解决问题的最佳方法,因为如果库开始使用不包含在这些目录中的英特尔库并且它依赖于平台,则应该对其进行修改。我该如何解决这个问题?