diff --git a/lite/load_and_run/CMakeLists.txt b/lite/load_and_run/CMakeLists.txt index 6c4945ac..ad50c715 100644 --- a/lite/load_and_run/CMakeLists.txt +++ b/lite/load_and_run/CMakeLists.txt @@ -27,35 +27,33 @@ if(UNIX) endif() install (TARGETS load_and_run EXPORT ${LITE_EXPORT_TARGETS} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -# FIXME: using shared lib to build load and run(lite shared lib is not work correctly ) -# if(BUILD_SHARED_LIBS) -# add_executable(load_and_run_depends_shared ${SOURCES}) -# target_link_libraries(load_and_run_depends_shared lite_shared) -# target_link_libraries(load_and_run_depends_shared megengine) -# target_link_libraries(load_and_run_depends_shared gflags) - -# if(WIN32 OR MSVC) -# target_compile_definitions(load_and_run_depends_shared PRIVATE MGE_DLL_IMPORT_DATA) -# endif() - -# if(LITE_BUILD_WITH_RKNPU) -# #rknn sdk1.0.0 depend on libc++_shared, use gold to remove NEEDED so symbol check -# target_link_options(load_and_run_depends_shared PRIVATE "-fuse-ld=gold") -# endif() - -# if(MGE_WITH_ROCM) -# # FIXME: hip obj can not find cpp obj only through lite_static -# target_link_libraries(load_and_run_depends_shared megdnn) -# endif() - -# if(UNIX) -# if(APPLE OR ANDROID) -# target_link_libraries(load_and_run_depends_shared dl) -# else() -# target_link_libraries(load_and_run_depends_shared dl rt) -# endif() -# endif() - -# install(TARGETS load_and_run_depends_shared EXPORT ${MGE_EXPORT_TARGETS} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -# endif() +if(BUILD_SHARED_LIBS) + add_executable(load_and_run_depends_shared ${SOURCES}) + target_link_libraries(load_and_run_depends_shared lite_shared) + target_link_libraries(load_and_run_depends_shared gflags) + target_link_libraries(load_and_run_depends_shared megengine) + + if(WIN32 OR MSVC) + target_compile_definitions(load_and_run_depends_shared PRIVATE MGE_DLL_IMPORT_DATA) + endif() + + if(LITE_BUILD_WITH_RKNPU) + #rknn sdk1.0.0 depend on libc++_shared, use gold to remove NEEDED so symbol check + target_link_options(load_and_run_depends_shared PRIVATE "-fuse-ld=gold") + endif() + + if(MGE_WITH_ROCM) + # FIXME: hip obj can not find cpp obj only through lite_static + target_link_libraries(load_and_run_depends_shared megdnn) + endif() + + if(UNIX) + if(APPLE OR ANDROID) + target_link_libraries(load_and_run_depends_shared dl) + else() + target_link_libraries(load_and_run_depends_shared dl rt) + endif() + endif() + install(TARGETS load_and_run_depends_shared EXPORT ${MGE_EXPORT_TARGETS} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +endif() diff --git a/lite/src/misc.h b/lite/src/misc.h index bcbf6b64..2ff3c79a 100644 --- a/lite/src/misc.h +++ b/lite/src/misc.h @@ -40,7 +40,8 @@ private: }; #endif -std::string ssprintf(const char* fmt = 0, ...) __attribute__((format(printf, 1, 2))); +LITE_API std::string ssprintf(const char* fmt = 0, ...) + __attribute__((format(printf, 1, 2))); /*! * \brief Print a message. @@ -48,7 +49,7 @@ std::string ssprintf(const char* fmt = 0, ...) __attribute__((format(printf, 1, * The message is printed only if level is above or equals to the current log * level. */ -void print_log(LiteLogLevel level, const char* format = 0, ...) +LITE_API void print_log(LiteLogLevel level, const char* format = 0, ...) __attribute__((format(printf, 2, 3))); } // namespace lite