1、实现目的:我想在op_host中新增一个模块,使得在算子host侧的AddTilingFunc函数中可以调用。如以下图所示,我想在op_host/add_custom.cpp的AddTilingFunc中使用op_host/utils_module/func1.h中声明的print_hello()方法

2、我的实现过程:
在op_host中新增utils_module文件夹,里面有inc/func.h和src/func.cpp,还有一个CMakeLists.txt。其中:
(1)utils_module/inc/func1.h内容
#include <iostream>
extern "C" {
void print_hello();
}
(2)utils_module/src/func1.cpp内容
#include"func1.h"
void print_hello()
{
std::cout << "------------------->hello world!" << std::endl;
}
(3)utils_module/CMakeLists.txt内容
# 设置子模块的名称
set(SUBMODULE_NAME utils)
# 设置包含文件的路径
set(INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/inc)
include_directories(${INCLUDE_DIR})
message(STATUS "------------1--------------------------env CMAKE_CURRENT_SOURCE_DIR: ${CMAKE_CURRENT_SOURCE_DIR}")
# 收集所有源文件
file(GLOB SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
# 构建动态链接库
add_library(utils SHARED ${SOURCE_FILES})
# 将动态链接库安装到总项目中
install(TARGETS ${SUBMODULE_NAME}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
# 将 include 目录添加到总项目的 include 路径中
target_include_directories(${SUBMODULE_NAME} PUBLIC
$<BUILD_INTERFACE:${INCLUDE_DIR}>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
(4)①在op_host目录下CMakeLists.txt中添加utils_module:
add_subdirectory(utils_module)
②然后在op_host/add_custom.cpp的TilingFunc中调用print_hello()函数

(5)执行算子工程的build.sh
3、出现的问题,这是表示我编译生成的build_out/autogen下的libascend_all_ops.so调用op_host/utils_module模块打包成的libutils.so失败?

4、我的猜测:是因为我的CMakeLists.txt写的有问题嘛,恳请各位帮忙看看!我把我的工程放到附件中
1、实现目的:我想在op_host中新增一个模块,使得在算子host侧的AddTilingFunc函数中可以调用。如以下图所示,我想在op_host/add_custom.cpp的AddTilingFunc中使用op_host/utils_module/func1.h中声明的print_hello()方法
2、我的实现过程:
在op_host中新增utils_module文件夹,里面有inc/func.h和src/func.cpp,还有一个CMakeLists.txt。其中:
(1)utils_module/inc/func1.h内容
(2)utils_module/src/func1.cpp内容
(3)utils_module/CMakeLists.txt内容
(4)①在op_host目录下CMakeLists.txt中添加utils_module:
②然后在op_host/add_custom.cpp的TilingFunc中调用print_hello()函数
(5)执行算子工程的build.sh
3、出现的问题,这是表示我编译生成的build_out/autogen下的libascend_all_ops.so调用op_host/utils_module模块打包成的libutils.so失败?
4、我的猜测:是因为我的CMakeLists.txt写的有问题嘛,恳请各位帮忙看看!我把我的工程放到附件中