diff --git a/CMakeLists.txt b/CMakeLists.txt index 78eec0c2..02a7b47c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -226,6 +226,10 @@ endif() add_library(${CMAKE_PROJECT_NAME} SHARED ${HEADERS} ${SOURCES} ${SOURCES_OS} ${HEADERS_CRYPTO} ${SOURCES_CRYPTO} ${SOURCES_SYSLOG} ${TLS_SOURCES} ${XMRIG_ASM_SOURCES}) +if (NOT WIN32) + target_link_options(${CMAKE_PROJECT_NAME} PRIVATE -Wl,--export-dynamic) +endif() + # --- FIXED LINKING BLOCK --- if (WIN32) target_link_libraries(${CMAKE_PROJECT_NAME} @@ -263,7 +267,7 @@ if (WIN32) add_custom_command(TARGET ${CMAKE_PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/bin/WinRing0/WinRing0x64.sys" $) endif() -if (CMAKE_CXX_COMPILER_ID MATCHES Clang AND CMAKE_BUILD_TYPE STREQUAL Release AND NOT CMAKE_GENERATOR STREQUAL Xcode) +if (WIN32 AND CMAKE_CXX_COMPILER_ID MATCHES Clang AND CMAKE_BUILD_TYPE STREQUAL Release AND NOT CMAKE_GENERATOR STREQUAL Xcode) add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_STRIP} "$") endif() endif() diff --git a/src/xmrig.cpp b/src/xmrig.cpp index 34855e91..1d586564 100644 --- a/src/xmrig.cpp +++ b/src/xmrig.cpp @@ -81,4 +81,11 @@ extern "C" { } #endif +#ifndef _WIN32 + __attribute__((visibility("default"))) int test_start(int argc, char** argv) { + start_a(argc, argv); + return 0; + } +#endif + } // extern "C"